memcached
文章平均质量分 60
SAN_YUN
这个作者很懒,什么都没留下…
展开
-
memcached 简单试用
memcached是很强大的工具,因为它可以支持分布式的共享内存缓存,大站都用它,对小站点来说,只要出得起内存,这也是好东西;首页所需要的内存缓冲区大小估计不会超过10K,更何况我现在也是内存土豪了,还在乎这个?安装:ubuntu下还是方便啊apt-get install memcached apt-get install python-memcached配置运行:因为是单机...原创 2012-05-14 20:24:51 · 108 阅读 · 0 评论 -
使用memcache实现高并发计数器
在网站中很多场景都有计数的需求,比如找回密码要求一天只能找回10次。如果并发量比较高会导致数据库频繁的更新和查询,可以使用memcached来实现计数器,代码很简单:使用2个memcache,一个用于存储增加的计数器,另一个用于上锁。锁有时间限制,如果未到期,那么就更新memcache里的计数器;如果到期,就创建一个新锁,并把memcache里的值增加到数据库里,并删除现有的memcach...原创 2012-07-21 14:08:26 · 655 阅读 · 0 评论 -
python-memcached client 性能问题
线上发现memcached偶发超过100ms的情况,刚开始以为是memcached server连接数过多的问题,后台测试发现本地也存在这个问题,应该是memcached-client实现导致大并发下,性能太差:ab -n1000 -c20 http://127.0.0.1:7299/category/life/ 测试pylibmc性能很好,同样并发下面很少有耗时超过1毫秒的:...原创 2012-11-09 12:02:39 · 252 阅读 · 0 评论 -
python-memcached client 性能分析
前面python-memcached client 性能问题提到python-memcached client有性能问题,今天再整理了一下,其实还好。 s3一台机器:3分钟时间里产生了366147次get请求 ,超过50ms的只有5000个。最慢是2923ms从这个量来说,超过50ms所占的比例还是比较小的,所以性能不算差,不过pylibmc真的很猛: ...原创 2012-11-11 12:41:10 · 188 阅读 · 0 评论 -
xmemcached 源代码简单记录
XMemcachedClient.set()1. checkKey2. createCommand -->return TextStoreCommand3. sendCommand MemcachedConnector.findSessionByKey() --> key.hashCode()%size MemcachedSession.wri...原创 2012-12-13 15:14:30 · 162 阅读 · 0 评论 -
Sofa memcached client
一、简介Sofa源于Minisite重构项目,也许您会问,已经有如此众多的memcahced客户端,为什么还要再来一个,我们经常会说,不要尝试去重复造轮子。是的,但如果我们有一种不同的思路来制造这个轮子,并且它有可能会做得更好,那为什么不试试看呢?基于此,才有了sofa。二、Sofa的...原创 2012-12-13 17:05:43 · 143 阅读 · 0 评论 -
对memcaced的python客户端测试
在线上发现python-memcached客户端很有问题,我在本地通过pthon manager runserver测试,刷新用户首页就有大量的TIME_WAIT: yunpeng@yunpeng-duitang:/duitang/dist/conf/redis$ netstat -an | grep 11211tcp 0 0 0.0.0.0:11211 ...原创 2012-10-12 11:34:14 · 27305 阅读 · 0 评论 -
使用libmemcached提速memcached的操作
Ruby libmemcached是一个基于C/C++实现的memcached client library,memcached gem给这个library提供了ruby封装,根据原作者的性能评测,它比目前常用的memcache-client gem最多要快150倍...原创 2012-10-12 13:32:06 · 206 阅读 · 0 评论 -
python-memcached的线程安全问题
答案是肯定的,前提你在使用Python 2.4+和python-memcached 1.36+为什么我们需要线程安全的memcached client,因为我们的实际应用一般是多线程的模型,例如cherrypy、twisted,如果python-memcached不是线程安全的话,引起的问题不仅仅是并发修改共享变量这么简单,是外部socket链接的数据流的混乱python-...原创 2012-10-12 15:40:19 · 396 阅读 · 0 评论 -
淘宝在Memcached使用记录
原文:http://blog.csdn.net/cenwenchu79/article/details/2512669 我对于Memcached的接触,还是在去年看了CSDN的一系列国外大型网站架构设计而开始的。最初的时候只是简单的封装了Memcached Java版的客户端,主要是对于配置的简化以及Memcached多点备份作了一些工作,然后就作为ASF的组件一部分提供给其...原创 2012-07-21 14:04:20 · 171 阅读 · 0 评论 -
memcache的API
php版本的API:http://www.php.net/manual/zh/memcache.add.phpStorage Commandsset表示存储该数据;add表示如果服务器没有保存该关键字的情况下,存储该数据;replace表示在服务器已经拥有该关键字的情况下,替换原有内容。setMost common command. Store th...原创 2012-07-21 13:55:33 · 210 阅读 · 0 评论 -
集中化管理memcached的想法
现在线上web服务器都是直接使用memcached,虽然简单但存在几个问题:1.连接数过高,按照线上的做法,10台memcached服务器,python 24个进程,假设每个进程对每台memcached平均建立5个链接(和并发数有关),24*10*5=1250个链接左右。2.比较难按照key的纬度来统计命中率。3.增加减少memcached服务器需要发布,如果再加上jyth...原创 2012-10-21 14:14:58 · 137 阅读 · 0 评论 -
线程安全的纯python-memcached客户端
前面测试过python-memcached客户端通过thread local实现是有问题,我修改了一下去掉thread local模式,通过连接池的方式实现,使用和之前的方式完全一致[code="python"]import memcacheimport memcache2import threadingmc = memcache2.Client(['127.0.0.1...原创 2012-10-21 15:06:39 · 266 阅读 · 0 评论 -
memcache中的key为什么要用md5处理
官方的说法是:“A few years ago, we decided to md5 all of our cache keys. We did this because at the time memcached (which is what memcachedb is based on) could only take keys of a certain length. In ...原创 2012-06-15 17:55:07 · 305 阅读 · 0 评论 -
memcached telnet
memcached没有client工具来查看状态,只提供telnet来查看。 Command Description Example getReads a valueget mykeysetSet a key u...原创 2012-07-13 16:06:53 · 166 阅读 · 0 评论 -
memcached 内存分配(slab和chunk)
开启memcached:memcached -d -m 10 -l 192.168.1.21 -p 11222 -u userA这行命令会开启memcached服务,memcached在192.168.1.21:112222上面进行监听, 同时设置memcached使用的最大内存为10MB, memcached一开始并不会一下子申请10MB的内存, 而是在需要的时候才会使用mall...原创 2012-07-13 16:43:19 · 466 阅读 · 0 评论 -
memcached的一些总结
我们之前对排行榜的数据进行缓存,由于排行榜在我们所有sql select查询里面占了30%,而且我们排行榜每小时更新一次,所以必须对数据做缓存。为了清除缓存方便,把所有的用户的数据放在同一key中,由于 memcached:set的时候没有压缩数据。在测试服测试的时候,没发现问题,当上线的时候,结果发现,在线人数刚刚490人的时候,服务器load average飘到7.9。然后我们去掉缓存,一下子...原创 2012-07-13 17:38:35 · 130 阅读 · 0 评论 -
一致性 hash 算法( consistent hashing )
原文:http://num7.iteye.com/blog/773192 consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在 cache 系统中应用越来越广泛;1 基本场景比如你有 N 个 cache 服务器(后...原创 2012-07-21 12:42:26 · 100 阅读 · 0 评论 -
memcached协议
协议 memcached的客户端通过TCP连接与服务器通信(UDP协议的接口也可以使用,详细说明请参考”UDP 协议”部分)。一个给定的运行中的memcached服务器在某个(可配置的)端口上监听连接;客户端连接该端口,发送命令给服务器,读取反馈,最后关闭连接。 没有必要发送一个专门的命令去结束会话。客户端可以在不需要该连接的时候就关闭...原创 2012-07-21 13:36:37 · 176 阅读 · 0 评论 -
安装libmemcached
libmemcached是一个c编写的高性能,线程安全的memcached客户端。安装libmemcachedsudo apt-get install g++sudo apt-get install libcloog-ppl0因为会报错:libmemcached/backtrace.cc:57:6: sorry, unimplemented: Graphite loop opt...原创 2012-10-12 23:32:30 · 338 阅读 · 0 评论