Redis 与 Memcache
最近,我们看到许多使用Redis的案例,尤其是大型及先进的系统中应用的更多。事实上,我们正管理着一个新的规模庞大的Redis集群,设计该架构是为了每秒能处理上百万个事务。然而,Redis与Memcache有许多类似的地方,都是基于网络的、运行于内存的、用来储存key value数据的存储器,所以通常被用来缓存许多信息,包括像PHP会话及数据库数据等。但Redis比Memcache要好,原因如下:
Redis最主要的特点是比较稳定,或者说它可将数据存储在物理磁盘上而不是虚拟内存中。这就解决了Memcache所面临的第一个问题:Memcache在损坏或重启时会丢失全部数据。这样,Redis便可用在包含许多服务器的大型系统中,而不会意外丢失数据。通过简单的快照或日志便可保证Redis的持续服务性。但是MemCache则会因为各种各样的一些小问题而受到影响,比如高内存占用率。
Redis还有另外一个有趣的独有的特点:就是数据复制。它允许您建立主-从系统,当主系统瘫痪后,您可在从系统上恢复功能。这也使得您可在从系统上读取数据,从而得到更高的性能,甚至可以在另外一个地理位置的独立数据中心中的分布式从系统上读取。
最后,Redis的功能远比Memcache要多的多,它支持集、列表及更高级的数据组。此外,它拥有许多功能可以处理系统中的数据。它支持某些特定事务及乐观锁定机制,最近发布的2.6版本还支持Lua脚本。
然而,Redis也不是尽善尽美的。最主要的问题就是不支持直接集群,在Memcache中,您可以列出3个服务器进行library分配,甚至可以使用统一的哈希函数,当某个服务器瘫痪时,数据可以一致地迁移出去。幸运的是,Redis团队正在攻关这一技术,准备在下一版本中将该特点融入进来。
另一个重要的明显区别是,Memcache支持多线程而Redis不支持多线程。因为Redis只采用单一内核,所以必须同时处理许多实例,甚至达到每秒要处理1百万个请求。这将给Redis的配置、管理及监控带来挑战。
总的来说,我们看到Redis前进了一大步,尤其是当集群还没有那么重要的时候。Redis比Memcache更强大,存储数据更可靠,并且很可能是“key-value ”存储的未来 。
(Authored by Steve Mushero / ChinaNetCloud CEO & CTO 本博客英文原文请点此查看)
Redis 与 Memcache的更多相关文章
- 关于 redis、memcache、mongoDB 的对比
从以下几个维度,对 redis.memcache.mongoDB 做了对比. 1.性能 都比较高,性能对我们来说应该都不是瓶颈. 总体来讲,TPS 方面 redis 和 memcache 差不多,要大 ...
- redis、memcache、mongoDB 做了对比
from: http://yang.u85.us/memcache_redis_mongodb.pdf 从以下几个维度,对redis.memcache.mongoDB 做了对比. 1.性能 都比较 ...
- Redis、Memcache和MongoDB的区别(转)
1.性能 都比较高,性能对我们来说应该都不是瓶颈 总体来讲,TPS方面redis和memcache差不多,要大于mongodb 2.操作的便利性 memcache数据结构单一 redis丰富一些,数据 ...
- twemproxy explore,redis和memcache代理服务器
twemproxy,也叫nutcraker.是一个twtter开源的一个redis和memcache代理服务器. redis作为一个高效的缓存服务器,非常具有应用价值.但是当使用比较多的时候,就希望可 ...
- Redis与Memcache的区别
Redis与Memcache的区别 数据类型: redis数据类型丰富,支持set liset等类型 memcache支持简单数据类型,需要客户端自己处理复杂对象 持久性: red ...
- Redis和Memcache的区别
Redis和Memcache的区别 总结一: 1.数据类型 redis数据类型丰富,支持set liset等类型 memcache支持简单数据类型,需要客户端自己处理复杂对象 2.持久性 redis支 ...
- 关于 redis、memcache mongoDB 的对比
from:http://yang.u85.us/memcache_redis_mongodb.pdf 从以下几个维度,对 redis.memcache.mongoDB 做了对比.1.性能都比较高,性能 ...
- Python操作Redis、Memcache、RabbitMQ、SQLAlchemy
Python操作 Redis.Memcache.RabbitMQ.SQLAlchemy redis介绍:redis是一个开源的,先进的KEY-VALUE存储,它通常被称为数据结构服务器,因为键可以包含 ...
- 关于 redis、memcache、mongoDB 的对比(转载)
from:http://yang.u85.us/memcache_redis_mongodb.pdf 从以下几个维度,对 redis.memcache.mongoDB 做了对比.1.性能都比较高,性能 ...
- [轉]redis;mongodb;memcache三者的性能比較
先说我自己用的情况: 最先用的memcache ,用于键值对关系的服务器端缓存,用于存储一些常用的不是很大,但需要快速反应的数据 然后,在另一个地方,要用到redis,然后就去研究了下redis. 一 ...
随机推荐
- VC++网络高级编程
内含<VC网络高级编程>电子书 及源代码. 第一章.TCP/IP协议.第二章.Winsock网络编程接口:第二章.Visual C++与网络编程:第四章.基本网络编程技术:第五章.Teln ...
- python3.4.3将汉字转换为大写拼音首字母
from pypinyin import pinyin a=pinyin(u'杨强',type=FIRST_LETTER) --->此时返回一个列表并赋给a(元素也是列表) b=[] - ...
- USACO Wormholes 【DFS】
描述 农夫约翰爱好在周末进行高能物理实验的结果却适得其反,导致N个虫洞在农场上(2<=N<=12,n是偶数),每个在农场二维地图的一个不同点. 根据他的计算,约翰知道他的虫洞将形成 N/2 ...
- Socket网络编程--FTP客户端(60篇socket博客,而且都比较简单、深入浅出)
已经好久没有写过博客进行分享了.具体原因,在以后说. 这几天在了解FTP协议,准备任务是写一个FTP客户端程序.直接上干货了. 0.了解FTP作用 就是一个提供一个文件的共享协议. 1.了解FTP协议 ...
- OKR 方法 学习笔记
最近公司兴起了对OKR这个词的讨论,并且听到时总会伴随提到KPI,提到绩效考核.那OKR到底是什么呢?与KPI的区别在哪里?与绩效考核有什么关系?它与我们现在推行的敏捷开发有啥关系呢?因此,就到网上查 ...
- td
http://jameswxx.iteye.com/blog/1041173 http://crane-ding.iteye.com/blog/968862 http://www.ibm.com/de ...
- 进入MFC讲坛的前言(四)
MFC的消息映射机制 MFC的设计者们在设计MFC时,紧紧把握一个目标,那就是尽可能使得MFC的代码要小,速度尽可能快.为了这个目标,他们使用了许多技巧,其中很多技巧体现在宏的运用上,实现MFC的消息 ...
- [置顶] T-sql sql server 设置主键约束、标示列、唯一约束、默认值、约束、创建表
----选择数据库 use ythome go ----查看表是否存在 if Exists ( select * from sysobjects where name='sys_menu' and t ...
- c-大量经典的c算法---ShinePans
经典的100个c算法 算法 题目:古典问题:有一对兔子.从出生后第3个月起每一个月都生一对兔子.小兔 子长到第三个月后每一个月又生一对兔子,假如兔子都不死,问每一个月的兔子总数 为多少? _____ ...
- BZOJ 4057: [Cerc2012]Kingdoms( 状压dp )
状压dp.... 我已开始用递归结果就 TLE 了... 不科学啊...我dp基本上都是用递归的..我只好改成递推 , 刷表法 将全部公司用二进制表示 , 压成一个数 . 0 表示破产 , 1 表示没 ...