美文网首页
mybatis配置hazelcast实现分布式缓存

mybatis配置hazelcast实现分布式缓存

作者: 那脸憔悴 | 来源:发表于2017-03-27 13:21 被阅读0次

    在使用mybatis的项目中使用hazelcast来缓存数据。
    先去hazelcast官方下载
    然后下载mybatis的hazelcast jar包
    将mybatis-hazelcast包的mybatis-hazelcast-x.x.x.jar和hazelcast包的hazelcast-all-x.x.x.jar复制到WEB-INF\lib,
    将hazelcast\bin\hazelcast.xml复制到项目的根目录里面。
    配置项目的mybatis的sql配置文件,如:

    <mapper namespace="xxx">
        <cache type="org.mybatis.caches.hazelcast.HazelcastCache" />
        ……
    </mapper>
    

    修改hazelcast.xml:

    <multicast enabled="false">
    #将multicast设为false
    <tcp-ip enabled="true">
        <interface>192.168.1.91</interface>
        <interface>192.168.1.92</interface>
    </tcp-ip>
    #将tcp-ip设置为true,分别将项目部署到这两台服务器上可现实分布式缓存。
    <map name="default">
        <eviction-policy>LFU</eviction-policy>
        <max-size policy="PER_NODE">10000</max-size>
        <time-to-live-seconds>600</time-to-live-seconds>
        <max-idle-seconds>300</max-idle-seconds>
    </map>
    #LFU表示最不经常使用的,
    #10000表示map的最大容量,
    #600表示存活时间(单位秒)
    #300表示最大空闲时间(单位秒)
    <management-center enabled="true">http://192.168.1.91:8080/mancenter-3.1.7</management-center>
    #这是hazelcast的管理界面,需要将hazelcast\mancenter-3.1.7.war放到tomcat\webapps并运行tomcat。
    #其它可以是默认配置。
    

    在192.168.1.91和192.168.1.92分别部署项目并运行tomcat,
    这时登录http://192.168.1.91:8080/mancenter-3.1.7
    会发现有两个接点,说明运行正常。然后访问项目,查询的数据会缓存到内存中。这时查看管理界面,基本上每个接点都会有缓存,如果关掉某个tomcat,那么关掉那个的缓存数据会备份到活着的服务器中。如果启动之前关闭的tomcat,那么之前活着的服务器会分担一些缓存数据给这台服务器。

    相关文章

      网友评论

          本文标题:mybatis配置hazelcast实现分布式缓存

          本文链接:https://www.haomeiwen.com/subject/cocrottx.html