`
younglibin
  • 浏览: 1196198 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

memcach基础知识--1

 
阅读更多

memcache:

 

1.memcache数据访问模型:

   首次访问从数据库查询,这是memcache 的模型, 我们可以通过整合spring,来实现自己的数据同步机制,



 

 

2、memcache 是相互之间乎不通信的分布式,memcache的分布式是完全基于客户端的

 



 

 

 

 

3、memcache内存存储机制

memcache 采用了  SLAB allocation 的机制来分配、管理内存,

SLAB 基本就是按照预先规定的大小,将分配好的内存分割成特定长度的块,来解决内存碎片问题!

SLAB 会重复使用已经分配的内存的目的,分配到的内存不会释放而是被重复利用,(注意这里的内存回收机制《内存使用完了怎么将新的内容加入到内存中》), 他有一个缺点, 就是会浪费内存空间, 例如 分配内存块 是 128  的块, 但是我们的数据只有100 ,那个28 就被浪费了!



 

 

 4、memcache的删除机制

数据不会被删除, 空间会被重复利用, 它使用了LRU(最近最少使用) 的原则进行空间分配,memcache也不会监控数据是否过期,只用在客户端查询的时候才会检测数据是否过期.

 

 

5、memcache 的分布式算法

 

   传说中的 consistent hashing

   大概算法思路:

 

写道
将 所有的 key 通过hash映射到 从 0 到 2的32次方 -1 ,的一个闭环上,
再讲, cache服务节点映射到 这个闭环上, 然后从第一个key开始按照顺时针方式,找到了cache就将这些 key 放在这个 cache中, 然后再继续!当然具体算法比这个还要复杂!

 详细的说明参考:   http://younglibin.iteye.com/blog/2043761

 

 

 

 

  • 大小: 65.4 KB
  • 大小: 36.4 KB
  • 大小: 20 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics