mybatis整合memcache
jopen
10年前
mybatis官方出了对memcache的整合,使mybatis也可以使用分布式缓存,除了memcache外还有个Hazelcast的整合包。
We have just released the 1st GA version of the MyBatis Memcached adapter.
The beta has bee around for almost one year and only one issue was reported.
这个memcache的整合是官方发布的版本,在网上找了找都没看到相关介绍,我这次也当次搬运工
pom文件引用
<dependency> <groupId>org.mybatis.caches</groupId> <artifactId>mybatis-memcached</artifactId> <version>1.0.0</version> </dependency>
也可以上github上下载https://github.com/mybatis/memcached-cache/releases
http://mybatis.github.io/memcached-cache/ 这个是说明
在mapper中配置
<mapper namespace="org.acme.FooMapper"> <cache type="org.mybatis.caches.memcached.MemcachedCache" /> ... </mapper>
memcache的配置是根据classpath下的 /memcached.properties 配置的,如果没有使用默认
Property | Default | Description |
org.mybatis.caches.memcached.keyprefix | _mybatis_ | 缓存key的前缀 |
org.mybatis.caches.memcached.servers | localhost:11211 | memcache配置${host}:${port} |
org.mybatis.caches.memcached.connectionfactory | net.spy.memcached.DefaultConnectionFactory | 只要是实现接口net.spy.memcached.ConnectionFactory |
org.mybatis.caches.memcached.expiration | 过期时间 | 单位是秒 |
org.mybatis.caches.memcached.asyncget | false | 是否启用异步读 |
org.mybatis.caches.memcached.timeout | 5 | 使用异步读的timeout时间 |
org.mybatis.caches.memcached.timeoutunit | java.util.concurrent.TimeUnit.SECONDS | timeout单位 |
org.mybatis.caches.memcached.compression | false | 如果开启,对象在放到memcache前会使用GZIP 压缩 |
If users need to log cache operations, they can plug the Cache logging version:
<mapper namespace="org.acme.FooMapper"> <cache type="org.mybatis.caches.memcached.LoggingMemcachedCache" /> ... </mapper>
还没看代码是怎么实现的,是不是可以实现那种hibernate的二级缓存功能