mybatis二级缓存拓展番外篇


自定义实现二级缓存的方式,可以看到下面redis里面已经放入的缓存
1.redis
   
            org.mybatis.caches
            mybatis-redis
            1.0.0-beta2
        

redis作为缓存都可以是不是可以自定义缓存呢?当然可以啦
直接实现Cache接口,xml里面指定类型即可
/**
 * 重写各个方法后想存哪存哪
 */
public class MyCache implements Cache {
    @Override
    public String getId() {
        return null;
    }

    @Override
    public void putObject(Object key, Object value) {

    }

    @Override
    public Object getObject(Object key) {
        return null;
    }

    @Override
    public Object removeObject(Object key) {
        return null;
    }

    @Override
    public void clear() {

    }

    @Override
    public int getSize() {
        return 0;
    }
}
 
    上面介绍了redis,其实mybatis也提供了ehcache进行缓存

        
            org.mybatis.caches
            mybatis-ehcache
            1.1.0
        
    
ehcache.xml配置如下
<?xml version="1.0" encoding="UTF-8"?>

    
    
    
    
    
    
        
    
    
    
    


缓存的地方有两个文件,一个是存磁盘的lock文件,另一个是具体数据文件data,缓存里面的内容被序列化,大概能看到属性什么