缓存无底洞现象

原创 2015年07月08日 23:41:38
缓存无底洞现象:
facebook工作人员反应,facebook在2010年左右,memcached节点已经达到3000个,他们发现了一个问题:memcached连接频繁,导致效率下降,于是加memcached节点,添加后发现因为连接频繁导致的效率问题依然存在,这就被称为“无底洞现象”。


问题分析:
以用户为例:user-133-age,user-133-name,user-133-height....N个key,当服务器增多,133用户的信息,也被散落到更多的节点,所以,同样是访问个人主页,得到相同的个人信息,节点越多,要连接的节点越多,对于memcached的连接数,并没有随着节点的增多,而减少,问题出现了


事实上:
Nosql与传统的RDBMS并不是水火不容,两者在某些设计上,是可以相互参考的,对于memcacede、redis这种kv存储,key的设计,可以参考Mysql中表/列的设计

例如:user表,有age、name、height列


例子:对应的key,可以用user:133:age = 23, user:133:name='lisi'


问题解决方案:
把某一组key,按其共同前缀来分布:
例如:user:133-age,user-133-height这两个key
在用分布式算法求其节点时,应该以‘user-133'来计算,而是已"user-133-age/name'来计算
这样,两个关于个人信息的key,就落到同一个节点上

缓存无底洞效应

缓存系列文章–无底洞问题 作者:carlosfu 一、背景   1. 什么是缓存无底洞问题: Facebook的工作人员反应2010年已达到3000个memcached节点,储...

Memcached缓存无底洞现象

Facebook的工作人员反应2010年已达到3000个memcached节点,储存数千G的缓存。 他们发现一个问题--memcached的连接效率下降了,于是添加,memcached节点,添加完之...

Memcached缓存无底洞现象

Facebook的工作人员反应2010年已达到3000个memcached节点,储存数千G的缓存。 他们发现一个问题--memcached的连接效率下降了,于是添加,memcached节点,添加完之...

memcache与redis lru 一致性hash 缓存雪崩 缓存无底洞 永久数据被踢现象

memcache的细节讨论: 1、生命周期的问题: 生命周期设置方式有两种: 第一种是:秒数,但是有限制,不能超过 2592000秒(30天)。 第二种是:时间戳,比如我们要设置超过1个月,则...

三.缓存雪崩现象和无底洞现象

一.缓存雪崩现象一般是有某个节点失效,导致其他节点的缓存命中率下降,缓存中缺失的数据去数据库查询,短时间内,造成数据库服务器崩溃 重启DB,短时间又被压垮,但缓存数据也多了一些,DB反复多次启动,缓...

缓存无底洞问题(multiget hole)

一、背景    1. 什么是缓存无底洞问题: Facebook的工作人员反应2010年已达到3000个memcached节点,储存数千G的缓存。 他们发现一个问题--memcached的连接效率...

Memcache线上常见问题(缓存雪崩、缓存无底洞、永久数据被踢)

缓存雪崩现象一般是由于某个节点失效,导致其它节点的缓存命中率下降,缓存中缺失的数据直接去数据库查询,短时间内造成数据库服务器崩溃。或者是由于缓存周期性失效,比如设置每隔6个小时失效一次,那么每6个小时...

Redis之利用锁机制来防止缓存过期产生的惊群现象

首先,所谓的缓存过期引起的“惊群”现象是指,在大并发情况下,我们通常会用缓存来给数据库分压,但是会有这么一种情况发生,那就是当一个缓存数据失效之后会导致同时有多个并发线程去向后端数据库发起请求去获取同...
  • lobal
  • lobal
  • 2014年12月29日 22:10
  • 592

Redis之利用锁机制来防止缓存过期产生的惊群现象

缓存惊群现象,在各种缓存中都会存在这种现象,这里以Redis为例,提供一种解决思路,留作参考~ 首先,所谓的缓存过期引起的“惊群”现象是指,在大并发情况下,我们通常会用缓存来给数据库分压,但是会...

无底洞游戏

  • 2015年05月06日 13:38
  • 3.96MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:缓存无底洞现象
举报原因:
原因补充:

(最多只允许输入30个字)