Redis有哪些优缺点?

Redis作为缓存服务有什么优缺点,相比传统的缓存服务memcached又有什么异同和优势?

已邀请:

chris - 喜欢自由散漫的我

赞同来自: push

优点:


  1. 读写性能优异, Redis能读的速度是110000次/s,写的速度是81000次/s。
  2. 支持数据持久化,支持AOF和RDB两种持久化方式。
  3. 支持事务,Redis的所有操作都是原子性的,同时Redis还支持对几个操作合并后的原子性执行。
  4. 数据结构丰富,除了支持string类型的value外还支持hash、set、zset、list等数据结构。
  5. 支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。

缺点:


  1. 数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。
  2. Redis 不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读写请求失败,需要等待机器重启或者手动切换前端的IP才能恢复。
  3. 主机宕机,宕机前有部分数据未能及时同步到从机,切换IP后还会引入数据不一致的问题,降低了系统的可用性。
  4. Redis 较难支持在线扩容,在集群容量达到上限时在线扩容会变得很复杂。为避免这一问题,运维人员在系统上线时必须确保有足够的空间,这对资源造成了很大的浪费。

两者都是非关系型内存键值数据库,现在公司一般都是用Redis来实现缓存,而且Redis自身也越来越强大了!Redis 与 Memcached 主要有以下不同:
/uploads/answer/20210319/292eab4f3fa3a357dbcb50c90f9fc8a9.png

(1) memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型;
(2) redis的速度比memcached快很多;
(3) redis可以持久化其数据。

要回复问题请先登录注册