码迷,mamicode.com
首页 > 系统相关 > 详细

Memcached 和 Redis

时间:2016-10-31 13:20:38      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:串行   数据恢复   redis   查询   故障   cache   内存分析   并发   命令   

Redis 相对 Memcached 来说功能和特性上的优势已经很明显了。而对于性能,Redis 作者的说法是平均到单个核上的性能,在单条数据不大的情况下 Redis 更好。为什么这样说呢,理由就是 Redis 是单线程运行的。

因为是单线程运行,所以和 Memcached 的多线程相比,整体性能肯定会偏低。

因为是单线程运行,所以 IO 是串行化的,网络 IO 和内存 IO,因此当单条数据太大时,由于需要等待一个命令的所有 IO 完成才能进行后续的命令,所以性能会受影响。

而就内存使用上来说,目前 Redis 结合了 tcmalloc 和 jemalloc 两个内存分析器,基本上和 Memcached 不相伯仲。如果是简单且有规律的 key value 存储,那么用 Redis 的 hash 结构来做,内存使用上会惊人的变小,优势是很明显的。

和 Memcached 更为接近的是 Redis。它们都是内存型数据库,数据保存到内存中,通过 tcp 直接存取,优势是速度快,并发高,缺点是数据类型有限,查询功能不强,一般用作缓存。

相比 Memcached:

1、Redis 具有持久化机制,可以定期将内存中的数据持久化到硬盘上。

2、Redis 具备 binlog 功能,可以将所有操作写入日志,当 Redis 出现故障,可依照 binlog 进行数据恢复。

3、Redis 支持 virtual memory,可以限定内存使用大小,当数据超过阀值,则通过类似 LRU 的算法把内存中的最不常用的数据保存到硬盘的页面文件中。

4、Redis 原生支持的数据类型更多,使用的想象空间更大。

 

Memcached 和 Redis

标签:串行   数据恢复   redis   查询   故障   cache   内存分析   并发   命令   

原文地址:http://www.cnblogs.com/wangjp/p/6015134.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!