Memcache学习总结
来源:互联网 发布:外国人北京奥运会知乎 编辑:程序博客网 时间:2024/06/03 17:30
Memcached客户端(mc)
Memcached客户端有各种语言的版本供大家使用,
包括java,c,php,.net等等,具体可参见memcached api page[2]。 大家可以根据自己项目的需要,选择合适的客户端来集成。
Memcached服务器(ms)
存储数据端
1、两阶段哈希(缓存值存放)
如上图所示,用户需要通过一个Memcached客户端来完成对缓存服务所记录信息的访问。该客户端知道服务端缓存系统中所包含的所有 Memcached服务实例。在需要访问具有特定键值的数据时,该客户端内部会根据所需要读取的数据的键值,如“foo”,以及当前Memcached缓 存服务的配置来计算相应的哈希值,以决定到底是哪个Memcached实例记录了用户所需要访问的信息。在决定记录了所需要信息的Memcached实例 之后,Memcached客户端将从配置中读取该Memcached服务实例所在地址,并向该Memcached实例发送数据访问请求,以从该 Memcached实例中读取具有键值“foo”的信息。在各个论坛的讨论中,这被称为是Memcached的两阶段哈希(Two-stage hash)。
2、内存分配模型
在一条新的记录到来时,Memcached会首先检查该记录 的大小,并根据记录的大小选择记录所需要存储到的Slab类型。接下来,Memcached就会检查其内部所包含的该类型Slab。如果这些Slab中有 空余的块,那么Memcached就会使用该块记录该条信息。如果已经没有Slab拥有空闲的具有合适大小的块,那么Memcached就会创建一个新的 页,并将该页按照目标Slab的类型进行划分。
默认情况下Memcached中每页的大小为1MB,因此其单个块最大为1MB,可以通过l参数进行设置。除此之外,Memcached还限制每个数据所对应的键的长度不能超过250个字节。
3、多个memcache服务端时,一个memcache节点失效,缓存数据影像
Memcached所使用的解决方法是Consistent Hashing,算法作用 :Memcached实例数量的变化将只可能导致其中的一小部分键的哈希值发生改变。
使用圆,哈希值就近分布到存储点上
- Memcache学习总结
- 学习memcache总结
- memcache基础学习总结
- Memcache学习总结
- Memcache缓存技术学习总结
- 《Memcache学习总结》[PDF]发布
- Memcache学习总结2-Memcache的使用基本介绍
- Memcache学习总结3-Memcache的配置项详解
- Memcache总结
- memcache总结
- Memcache总结
- Memcache总结
- Memcache 学习
- memcache学习
- Memcache学习
- memcache 学习
- memcache 学习
- Memcache学习总结1-Memcache与Memcached介绍及安装配置
- IOS真机调试时启动图黑屏问题解决
- Android 性能优化(一)
- matlab之cat:以特定维度连接矩阵
- Composer 将~/.composer/vendor/bin 添加到PATH
- JavaScript 对象与 JSON 对象的相互转换
- Memcache学习总结
- android:maxHeight,android:maxWidth失效,不起作用
- win7下IIS的安装和配置
- iOS 图形编程总结
- win7重启
- 375. Guess Number Higher or Lower II dynamic programming
- 改变linux DNS解析顺序
- ReactNative tarbarAndorid工具实战
- 二逼平衡树(树套树)