Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
Redis的特点
Redis支持的数据类型包括:字符串、string、hash、set、sortedset、list;Redis实现持久化的方式:定期将内存快照写入磁盘;写日志;Redis支持主从同步。
Redis的限制性
单核运行,在存储大数据的时候性能会有降低;不是全内存操作;主从复制是全量复制,对实际的系统运营造成了一定负担。
4
Memcached VS Redis
Memcached与Redis都属于内存操作、KV存储的缓存系统,同时都是高度关注数据吞吐量与延迟状况的开源项目。而这两个项目在实际应用中的差异,则决定了其在不同应用场景中的表现。
数据支持不同
Memcached只支持字符型,储存数据不能超过1M;Redis除了字符型还支持List、Hash、Set、有序Set等,长度为512M。
内存管理机制不同
Memcached是全内存的数据缓存系统;Redis支持数据的持久化,会周期性地将更新数据写入磁盘,并实现主从同步。
集群管理不同
Memcached本身并不支持分布式,需要在客户端通过像一致性哈希这样的分布式算法来实现Memcached的分布式存储;Redis可以直接使用Redis Cluster对集群进行管理(Redis Cluster是一个高性能高可用的分布式系统)。
由此可见,Memcached更适合对小型的静态数据进行缓存,对数据的安全性要求不高。而Redis适合处理对数据安全性有一定要求、或对数据结构有一定需求,或者需要存储的大型的数据、需要进行主从复制的项目。
End
近几年来,互联网+、软件国产化、O2O、工业4.0等主题的相继提出,为数据库带来了巨大的机会。未来,分布式数据库将走入标准化,对事物的支持也将转为普遍化,这个充满活力的领域的发展需要更多同行的参与。