缓存、分布式总篇
技能清单
- ehcache(Done)
- redis(Done)
- memcache(Done)
了解一下命中的概念
dubbo(Done)
- zookeeper(Done)
- Jenkins
- nginx (Done)
复习一下之前做过的demo,强化一下映像,学习一下我们项目是有缓存的,过一下
任务分解
- redis服务器的学习、包括命中的概念和redis的特点 (Done)
- ehcache-spring demo(Done)
- redis-tomcat-nginx-spring demo (Done)
- merchant-spring demo (Done)
- 结合我们项目学习下 nginx、solr-cloud、zookeeper、ehcache
缓存框架之间的差别
- Mybatis二级缓存和 Hibernate二级缓存都是针对SQL级别的缓存,而spring的缓存接口实现都是方法级别的缓存。
- Ehcache 是java的缓存,Memcache和Redis是支持分布式缓存的工具
- 分布式缓存框架需要解决session不共享的问题,解决方法1是通过ngixn配置hashIP的功能,这样一个IP从始至终都只访问一个节点,优点是配置方便,缺点是无法控制负载均衡;常用的redis有spring整合的jar包,支持session存在redis中,实现session分布式缓存
Memcache VS Redis
- redis支持更丰富的数据类型: list Hash Set
- redis是单线程的,缓存大数据的时候(超过100k)的时候,memcache更快
- redis支持数据持久化到硬盘上,恢复缓存数据(虽然不知道有什么应用场景会去恢复缓存数据)