读取memcached和redis中的数据,分析缓存数据大小

标签: memcached redis 数据 | 发表时间:2015-08-18 11:58 | 作者:波比
出处:http://www.blogjava.net/
    最近项目快要见人了,所以很多性能分析的需求又提出来了。之前已经做过几次类似的事情,这次记录下来把
    Memcached不能一次性读取所有的key,不能一次性读取缓存数据。以前项目里面踩过这个坑,stats cachedump $slabId $limit只会dump出2M的key,如果所有的key超多2M那么dump出哪些key就要看命了。以前想了个野路子的办法,把memcached的源码中限制cachedump 的大小的变量改大再编译安装。现在的做法如下:
    libmemcached是一个专门的memcached的工具集,包含了:
  • memcat
  • memcp
  • memdump
  • memerror
  • memflush
  • memrm
  • memslap
  • memdump
memstat --server=localhost >1.txt 
    可以dump出所有的key
memcat --servers=localhost `memdump --servers=localhost` > 1.txt
    到处所有的value
    安装libmemcached也很方便,yum就搞定了

    redis里面的数据要导出来,以前使用的办法是redis-dump导成json,然后在想办法分析。
    最近找了个不错的工具:rdbtools 网站: https://github.com/sripathikrishnan/redis-rdb-tools 工具是python的,使用pip安装就可以了
rdb -c memory /var/redis/6379/dump.rdb > memory.csv
    直接导出数据,到excel里面进行分析就可很方便


波比 2015-08-18 11:58 发表评论

相关 [memcached redis 数据] 推荐:

转 redis vs memcached

- - 数据库 - ITeye博客
传统MySQL+ Memcached架构遇到的问题.   实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:.   1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间.

谈谈Memcached与Redis

- - 互联网旁观者
Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器. 其本质上就是一个内存key-value数据库,但是不支持数据的持久化,服务器关闭之后数据全部丢失. Memcached使用C语言开发,在大多数像Linux、BSD和Solaris等POSIX系统上,只要安装了libevent即可使 用.

读取memcached和redis中的数据,分析缓存数据大小

- - BlogJava-首页技术区
    最近项目快要见人了,所以很多性能分析的需求又提出来了. 之前已经做过几次类似的事情,这次记录下来把.     Memcached不能一次性读取所有的key,不能一次性读取缓存数据. 以前项目里面踩过这个坑,stats cachedump $slabId $limit只会dump出2M的key,如果所有的key超多2M那么dump出哪些key就要看命了.

Redis和Memcached的区别

- - 互联网 - ITeye博客
Redis和Memcache都是将数据存放在内存中,都是内存数据库. 不过memcache还可用于缓存其他东西,例如图片、视频等等. Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储. 虚拟内存--Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘.

Redis和Memcached的区别

- - 标点符
Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较:. Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去.

Twemproxy——针对MemCached与Redis的代理

- - InfoQ cn
Twemproxy是一个代理服务器,可以通过它减少 Memcached或 Redis服务器所打开的连接数. Twemproxy有何用途呢. 通过代理的方式减少缓存服务器的连接数. 自动在多台缓存服务器间共享数据. 通过不同的策略与散列函数支持一致性散列. 运行在多个实例上,客户端可以连接到首个可用的代理服务器.

[转][转]Redis、Memcached、Guava、Ehcache中的算法

- - heiyeluren的blog(黑夜路人的开源世界)
缓存那些事,一是内存爆了要用LRU(最近最少使用)、LFU(最少访问次数)、FIFO的算法清理一些;二是设置了超时时间的键过期便要删除,用主动或惰性的方法. 今天看 Redis3.0的发行通告里说,LRU算法大幅提升了,就翻开源码来八卦一下,结果哭笑不得,这旧版的"近似LRU"算法,实在太简单,太偷懒,太Redis了.

[转][转]Twemproxy——针对MemCached与Redis的代理

- - heiyeluren的blog(黑夜路人的开源世界)
Twemproxy是一个代理服务器,可以通过它减少 Memcached或 Redis服务器所打开的连接数. Twemproxy有何用途呢. 通过代理的方式减少缓存服务器的连接数. 自动在多台缓存服务器间共享数据. 通过不同的策略与散列函数支持一致性散列. 通过配置的方式禁用失败的结点. 运行在多个实例上,客户端可以连接到首个可用的代理服务器.

百万级运维经验二:Redis和Memcached的选择

- - CSDN博客系统运维推荐文章
看到很多人推荐使用Redis代替Memcached,我觉得这两个是不一样的东西,它们的关系应该是共存而不是替代. Memcached是个纯内存型的缓存系统,支持数据类型单一,单个缓存数据有限制,支持分布式,我觉得这是个很理想的缓存系统. Redis是个简单的NOSQL数据库,支持几种简单的数据类型,支持主从复制,支持持久化,可以看作是个内存型数据库.

Redis 数据类型

- - ITeye博客
该文章是对Redis官方文档的翻译. 字符串是Redis值的最基础的类型. Redis字符串是二进制安全的,这意味着一个Redis字符串可以包含任何种类的数据,例如一个JPEG图像或者一个序列化的Ruby对象. 一个字符串值最多可以保存512M字节的内容. 你可以使用Redis的字符串做一些有趣的事情,例如你可以:.