一:Memcached 缓存无底洞现象
(1)facebook的工作人员反应的,facebook在2010年左右,memcached节点就已经达到了3000个,存储的数据进千G的数据存储。
他们发现一个问题,memecached连接频率,效率都下降了,于是加了memcached节点.添加节点后发现因为连接频率导致的问题并没有好转。称之为“无底洞现象”。
问题分析:
以用户为列:user-133-age,usr-133-name,usr-133-height ....共有N个KEY。
当服务器增多,133号的信息也被散落在更多的节点上。所以同样访问个人主页,要得到的个人主页信息,则节点越多,要连接的节点也越多。对于memcached的连接数,并没有随着节点的增多,而降低。导致问题出现...。
事实上:
NoSQL和传统的RDBMS,并不是水火不容,而两者在某些设计上,是可以互相参考的,对于memcached,redis这种key value存储,key的设计可以参考MySql中表/列的设计,比如user表下,有age列,name列,身高列,对应的key,可以用user:1333:age=23,user:133:name='lisi',suer:133:height='168'
问题的解决方案:
把某一组key,按照公同的前缀,来分布,比如 user-133-age,user-133-name,user-133-height这个3个key,在用分布式算法求期节点时,应该可以用user-133来计算而不是以 user-133-nage来计算,这样3个关于个人的信息的key都落到了同一个节点上,点击的访问个人主页的时,值需要连接1个节点。

最新文章

  1. Qt qml 单例模式
  2. FP_PR2SAP 除包材、半成品以外的半成品下层物料展望期7天更改为40日
  3. Mongodb 笔记09 备份、部署MongoDB
  4. pascal矩阵 分类: 数学 2015-07-31 23:01 3人阅读 评论(0) 收藏
  5. MySql存储过程—2、第一个MySql存储过程的建立
  6. iOS 上架提示ipad需要显示四个方位,而我们只能竖屏的时候的解决办法
  7. 七行代码开始flask
  8. 深入java虚拟机学习 -- 类的加载机制
  9. ccd采集
  10. 死磕 java集合之DelayQueue源码分析
  11. [物理学与PDEs]第3章第4节 磁流体力学方程组的数学结构
  12. SQL-17 获取当前(to_date='9999-01-01')薪水第二多的员工的emp_no以及其对应的薪水salary
  13. C++学习(二十五)(C语言部分)之 结构体2
  14. 【TensorFlow学习笔记 】name_socpe variable_scope
  15. 汇编 ADD指令
  16. jQuery+Ajax+PHP 制作简单的异步数据传输(测试用户名是否可用)
  17. node入门学习(二)
  18. js日期格式化 扩展Date()
  19. 【bzoj1072】SCOI2007排列
  20. 【Keras案例学习】 sklearn包装器使用示范(mnist_sklearn_wrapper)

热门文章

  1. eclipse和maven创建WebApp项目
  2. 设计模式之工厂模式之工厂方法(php实现)
  3. python的几个概念
  4. java的Commons包简介
  5. Java迭代器原理
  6. 转: 通过Servlet生成验证码图片
  7. elasticsearch 基本用法
  8. Jenkins 无法下载插件的解决办法
  9. mac查看端口占用
  10. Oracle基础(一) Oracle的安装和卸载