memcache
freedomai
这个作者很懒,什么都没留下…
展开
-
缓存无底洞现象
缓存无底洞现象: facebook工作人员反应,facebook在2010年左右,memcached节点已经达到3000个,他们发现了一个问题:memcached连接频繁,导致效率下降,于是加memcached节点,添加后发现因为连接频繁导致的效率问题依然存在,这就被称为“无底洞现象”。 问题分析: 以用户为例:user-133-age,user-133-name,user-133-原创 2015-07-08 23:41:38 · 1398 阅读 · 1 评论 -
缓存雪崩现象
缓存雪崩现象以及真实案例: 一般是有某个节点失效,导致其他节点的缓存命中率下降,缓存中缺失的数据去数据库查询,短时间内,造成数据库服务器崩溃 重启DB,短时间又被压垮,但缓存数据也多了一些,DB反复多次启动,缓存重建完毕,DB才稳定运行 案例: 一个上千万PV的门户网站,缓存生命周期设置了6小时,当等到6小时缓存失效后,之前放到缓存的数据,都转到DB中查询,这时候,DB的压力急剧上原创 2015-07-08 23:09:11 · 2123 阅读 · 0 评论 -
编译安装memcached
首先使用yum安装gcc make、autoconf、libtool系列工具,这几个工具是编译所需要的 到libevent.org和memcached.org官网下载最新的stable版本 步骤一: 需要先安装libevent,因为安装memcached需要依赖libevent库 ./configure --prefix=/usr/local/libevent make && m原创 2015-07-05 11:28:39 · 270 阅读 · 0 评论 -
memcached内存分配机制
memcached Slab Allocator分配机制 Slab Allocator的基本原理是按照预先规定的大小,将分配的内存分割成特定长度的块,以完全解决内存碎片问题。 Slab Allocation的原理相当简单,就是将分配的内存分割成各种尺寸的块(chunk),并把尺寸相同的块分成组(chunk的集合) Slab Allocation缓存原理: memcach原创 2015-07-04 12:46:40 · 797 阅读 · 0 评论 -
LRU删除机制
Memcached的过期数据删除机制 1.当某个值过期后,并没有从内存删除,因此,使用stats命令统计时,curr_item参数有信息(不为0) 2.当某个新值去占用他的位置时,当成空chunk来占用(即取代了原来数据占用内存的位置) 3.当get值时,判断是否过期,如果过期,返回空,并且清空,curr_item就减少 这个过程,只是让用户看不到这个数据而已,并没有在过期的瞬间立原创 2015-07-05 10:36:29 · 881 阅读 · 0 评论 -
编译安装Apache+PHP
分别到官网下载二进制包 http://httpd.apache.org http://php.net apache编译安装: ./configure --prefix=/usr/local/httpd make && make install php编译安装: ./configure --prefix=/usr/local/php --with-apxs2=/us原创 2015-07-05 14:12:25 · 564 阅读 · 0 评论 -
编译php-memcache扩展
PHP拓展编译的通用方法 以memcache拓展为例: 1.到软件的官网(pecl.php.net)去寻找拓展源码并下载解压 2.进入到path/memcache目录 3.根据当前的php版本动态的创建拓展的configure文件 /xx/path/php/bin/phpize --with-php-config=/xx/path/php/bin/php-config原创 2015-07-05 18:29:28 · 1339 阅读 · 0 评论 -
分布式之取模算法的缺陷
分布式算法之取模算法的缺陷: 假设有8台服务器,运行中,突然down一台,则求余的底数变成7, 后果: key:0%8 = 0, key:0%7 = 0 hits .... key:6%8 = 6, key:6%7 = 6 hits key:9%8 = 1, key:9%7 = 2 miss .... key:55%8 = 7, key:55%7 = 6 miss 一般原创 2015-07-05 20:24:09 · 1313 阅读 · 0 评论