Memcache-基础原理

Socket 服务器端

数据:键值对存储

内存处理的算法:

本质就是一个大的哈希表。key最大长度是255个字符。

内存模型:Memcache预先将可支配的内存空间进行分区(Slab),每个分区里再分成多个块(Chunk)大小1MB,但同一个分区里:块的长度(bytes)是固定的。

插入数据:查找适合自己长度的块,然后插入,会有内存浪费。

LRU,闲置>过期  >最少访问    

惰性删除:它并没有提供监控数据过期的机制,而是惰性的,当查询到某个key数据时,如果过期那么直接抛弃。

集群搭建原理:

Memcache服务器端并没有提供集群功能,但是通过客户端的驱动程序实现了集群配置。

客户端实现集群的原理:首先客户端配置多台集群机器的ip和端口的列表。然后客户端驱动程序在写入之前,首先对key做哈希处理得到哈希值后对总的机器的个数进行取余然后就选择余数对应的机器。

猜你喜欢

转载自blog.csdn.net/dxm809/article/details/87869680