什么是Memcache
- Redis的前身
- 严格来说只能叫缓存,不支持持久化,停电后数据丢失
- Strom、Spark Streaming实时计算的结果一般会保存在Redis中
- JDBC是性能瓶颈
- 关系型数据库将数据缓存到内存数据库
- 服务器端先访问内存数据库,有数据就直接返回,否则通过JDBC访问数据库

原理
- 在内存中维护一张巨大的Hash表
- 通过路由算法决定数据存储位置
- 默认情况下,实例之间不进行通信
- 每个Hash表由多个Slab(1M)组成,Slab由多个chunk组成

路由算法
- 客户端指定
- 求余数
- 有3台服务器,则key对3求余,数据均匀分布到3台服务器上
- 缺点:扩容或宕机时会造成数据丢失
- 一致性Hash

主主复制
安装
[DB] Memcache
原文:https://www.cnblogs.com/cxc1357/p/12939235.html