缓存的应用

    • material-admin为了给上层应用提供缓存支持,提供了CacheDao接口,CacheDao接口负责和底层的缓存组件打交道,比如Ehcache、Redis、ssdb,甚至自己实现的缓存系统皆可。
    • 在material-admin中针对CacheDao的默认实现类是EhcacheDao,没错material-admin默认使用的缓存组件就是Ehcache。
    • 针对ehcache的具体用法实现,可以查看EhcacheDao的实现和ehcache.xml配置,这里不再赘述。

    目前material-admin中使用到缓存的地方有两个,一个是系统参数的管理,一个是字典管理。具体用法也很简单,分为以下几个步骤

    • 具体的功能中使用的时候注入对应的缓存类使用即可。
    • CacheListner 缓存监听器,启动的时候将数据从数据库加载到缓存中

    • Cache顶级缓存接口,定义了缓存基本的三个方法
    1. public interface Cache {
    2. Object get(String key);
    3. }
    • 目前最流行的缓存中间件非Redis莫属。而且我司大多数产品和项目也是使用redis,但是考虑到Ehcahe的开箱即用(直接整合到项目中,不需要部署专门的缓存服务),所以在material-admin默认支持Ehcache,
    • 想用Redis也很简单,参考EhcacheDao实现一个RedisCacheDao即可。当数据库中数据变化的时候缓存中的数据如何做到更新

    • 具体生产中,也许会有很多产品都是微服务架构,这时候推荐使用zookeeper来做配置变更的管理,感兴趣的同学可以在qq群中讨论,这里不再赘述。