memached与radis一点比较

来源:互联网 发布:梦幻西游玩着网络错误 编辑:程序博客网 时间:2024/04/29 07:23

 一、内存分配与使用

Memcached使用预分配的内存池的方式,使用slab和大小不同的chunk来管理内存,

Item根据大小选择合适的chunk存储,内存池的方式可以省去申请/释放内存的开销,
并且能减小内存碎片产生,但这种方式也会带来一定程度上的空间浪费,并且在
内存仍然有很大空间时,新的数据也可能会被剔除

Redis使用现场申请内存的方式来存储数据,并且很少使用free-list等方式来优化内存分配,
会在一定程度上存在内存碎片,Redis跟据存储命令参数,会把带过期时间的数据单独存放在一起,
并把它们称为临时数据,非临时数据是永远不会被剔除的,即便物理内存不够,

导致swap也不会剔除任何非临时数据(但会尝试剔除部分临时数据),这点上Redis更适合作为存储而不是cache。

二、支持的数据类型

Memcached基本只支持简单的key-value存储,不支持枚举,不支持持久化和复制等功能

Redis除key/value之外,还支持list,set,sorted set,hash等众多数据结构,提供了KEYS进行枚举操作,但不能在线上使用,如果需要枚举线上数据,Redis提供了工具可以直接扫描其dump文件,枚举出所有数据,Redis还同时提供了持久化和复制等功能。

ttserver与memcached一样,只支持简单的key-value,不过能实现持久化

上面内容摘自‘农夫庄园’,链接:http://nonfu.me/p/10854.html

0 0
原创粉丝点击