首页 > 代码库 > mybatis整合memcache

mybatis整合memcache

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的二级缓存功能