memcached简介:
高性能分布式内存缓存服务器。其本质上就是一个内存key-value数据库,但是不支持数据的持久化,服务器关闭之后数据全部丢失。
redis简介:
Redis是一个开源的key-value存储系统。与Memcached类似,Redis将大部分数据存储在内存中。
支持的数据类型包括:字符串string、哈希表hash、链表list、集合set、有序集合zset以及基于这些数据类型的相关操作。
读:110000次/s 写:81000次/s
原子性:redis所有操作都是原子性的。
支持持久化,主从复制。
支持过期时间,支持事物,消息订阅。
memcached 和 redis的区别:
memcached仅支持简单的key-value结构数据;
redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储;
Memcached不支持数据的备份;
redis支持数据的备份,即master-slave模式的数据备份;
Memcached不支持数据持久化操作,是全内存的数据缓冲系统;
redis支持数据的持久化(采取磁盘存储机制)和数据恢复,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用,而且提供两种主要的持久化策略:RDB快照和AOF日志;
Redis和Memcache都是将数据存放在内存中,都是内存数据库;
memcache还可用于缓存其他东西,例如图片、视频等等;
应用场景不一样:memcached适合于缓存SQL语句、数据集、用户临时性数据、延迟查询数据和session等;
redis出来作为NoSQL数据库使用外,还能用做消息队列、数据堆栈和数据缓存等;
memcached是高性能分布式内存缓存服务;
redis是一个开源的key-value存储系统,Nosql数据库;memcached需要将数据拿到客户端进行修改再set到服务端;
redis支持服务器端的数据操作;memcached可以使用多核,redis只使用单核;
在存储小数据时,平均每一个核上redis比memcached性能更高;
在100k以上的数据时,memcached性能要高于Redismemcached本身并不支持分布式,因此只能在客户端通过一致性哈希这样的分布式算法来实现Memcached的分布式存储(集群模式);
redis(最新版本)支持分布式存储功能(集群模式);memcache在并发场景下,用cas保证数据一致性;
redis事务支持比较弱,只能保证事务中的每个操作连续执行;