1, memcache是什么? 高效、分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载。
2, 一致性hash算法:
对比余数hash算法,优点是扩容有优势。
影响相对比较少。
hash环查找时,顺时针查找。如果扩容时就会影响部分节点。
3,内存分配:
slab_class---slab[1]--- page[] --- chunk
寻找最接口的chunk对应的slab放置。
如果这个slab没有对应的chunk分配,则启动没有追加,则会调用LRU算法回收内存
4,注意:
1) key: 为255字节
2) 单个item: 1M
3) 不安全
4) 不能遍历所有item
5,命令汇总:
get, add
set,
replace,
stats 如第一个slab少,第二个slab多,则调整因子,让数据落入slab少的
stats items
stats slabs
flush_all
quit
6,java 操作:
XMemCached
XMemCachedClientBuilder("").build()
连接池: com.danga.MemCached.SockIOPool;
2, 一致性hash算法:
对比余数hash算法,优点是扩容有优势。
影响相对比较少。
hash环查找时,顺时针查找。如果扩容时就会影响部分节点。
3,内存分配:
slab_class---slab[1]--- page[] --- chunk
寻找最接口的chunk对应的slab放置。
如果这个slab没有对应的chunk分配,则启动没有追加,则会调用LRU算法回收内存
4,注意:
1) key: 为255字节
2) 单个item: 1M
3) 不安全
4) 不能遍历所有item
5,命令汇总:
get, add
set,
replace,
stats 如第一个slab少,第二个slab多,则调整因子,让数据落入slab少的
stats items
stats slabs
flush_all
quit
6,java 操作:
XMemCached
XMemCachedClientBuilder("").build()
连接池: com.danga.MemCached.SockIOPool;