mybatis配置hazelcast实现分布式缓存

2017-03-27  本文已影响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,那么之前活着的服务器会分担一些缓存数据给这台服务器。

上一篇下一篇

猜你喜欢

热点阅读