如何用redis/memcache做Mysql缓存层
2016-01-27 16:39
405 查看
方法一:直接用Mysql
Mysql有缓存,实现了类似的功能,如果需要缓存的东西很多,可以把缓存的内存设置大一点。
这样的好处就是不用去控制缓存的失效,确保数据一致性。
方法二:启用用DAO框架的缓存
比如Mybatis、Hibernate都是可以直接开启二级缓存,一般是用ehcache作为实现,只要配置一下就行,无需额外操作。
方法三:自行实现
用AOP去在Dao层做一个切面,把调用的“类名+方法名+参数”作为key,查询结果作为value,每次调用去看一下是否已经缓存,如果没有再去调用Dao的实现类。
注:如果真的要自行去实现,不建议做一个这么通用的方案,感觉重复造轮子。对性能要求极高的场景,可以根据实际需要做一些必要的缓存即可。
http://zhidao.baidu.com/link?url=KmnyEV_emBwZNK2LOrPxLlO59HV8DhrgRkfkJYlkRYZpTLpqctYafQiZxq8VPpiVCJgtuURjgjTRC8RSvc7xqS20zSdipZSONVuAOxhVhYG
Mysql有缓存,实现了类似的功能,如果需要缓存的东西很多,可以把缓存的内存设置大一点。
这样的好处就是不用去控制缓存的失效,确保数据一致性。
方法二:启用用DAO框架的缓存
比如Mybatis、Hibernate都是可以直接开启二级缓存,一般是用ehcache作为实现,只要配置一下就行,无需额外操作。
方法三:自行实现
用AOP去在Dao层做一个切面,把调用的“类名+方法名+参数”作为key,查询结果作为value,每次调用去看一下是否已经缓存,如果没有再去调用Dao的实现类。
注:如果真的要自行去实现,不建议做一个这么通用的方案,感觉重复造轮子。对性能要求极高的场景,可以根据实际需要做一些必要的缓存即可。
http://zhidao.baidu.com/link?url=KmnyEV_emBwZNK2LOrPxLlO59HV8DhrgRkfkJYlkRYZpTLpqctYafQiZxq8VPpiVCJgtuURjgjTRC8RSvc7xqS20zSdipZSONVuAOxhVhYG
相关文章推荐
- 分布式缓存系统Memcached简介与以及在.net下的实践(转)
- spring+memcache配置方式
- PHP监測memcache服务端的执行状况
- Memcached分布式原理
- 关于使用memcached提高并发的文章,很有用
- memcached的工作原理
- [置顶] PHP memcache扩展安装,memcahed服务器安装,项目上运用memcahed
- Redis与Memcached的区别与简介
- 第七章 Xmemcached客户端介绍
- PHP内存缓存功能memcached
- linux下安装memcache
- [Memcached]Memcached 的分布式算法
- [Memcached]Memcached 的删除机制和发展方向
- 第六章 memcached剖析
- memcached面试题集锦
- Memcached_Session_Manager介绍及使用
- [Memcached]理解 Memcached 的内存存储
- ehcache memcache redis 三大缓存比较
- MSM--Memcached_Session_Manager介绍及使用
- 缓存技术PK:选择Memcached还是Redis?