Memcached原理篇

1.存储

memcached默认情况下采用了名为Slab Allocator的机制分配、管理内存,Slab Allocator的基本原理是按照预先规定的大小,将分配的内存分割成特定长度的块,以期望完全解决内存碎片问题。而且,slab allocator还有重复使用已分配的内存的目的。 也就是说,分配到的内存不会释放,而是重复利用。

(1)page将以默认1M的大小分配给 slab,当某一类型的slab的chunk用完后,内存将继续划分page给slab扩展。如果没有Page可用,系统就会触发LRU机制,通过删除冷数据来为新数据腾出空间,这里有一点需要注意的是:LRU不是全局的,而是针对Slab而言的.

(2)slab里边的chunk默认将以 1.25倍的大小进行变化。

《Memcached原理篇》 image.png

2.memcached的分布式在客户端实现,详情见 Memcached-探索Memcached-Java-Client的一致性hash算法(https://www.jianshu.com/p/267d2193cc35)

    原文作者:想做安徒生
    原文地址: https://www.jianshu.com/p/9486d04a9777
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞