什么是Redis?Redis为什么这么快?Redis相比Memcached有哪些共同点和区别?

本文介绍了Redis,一种内存型Key-Value数据库,强调其高读写性能、数据持久化、事务支持和丰富数据结构。并与Memcached进行了比较,包括数据类型、持久化、集群和网络IO模型的差异,指出Redis在速度上的优势。
摘要由CSDN通过智能技术生成

(1)什么是Redis?简述它的优缺点?Redis为什么这么快

Redis本质上是一个Key-Value类型的内存数据库,把整个数据库加载在内存当中操作,定期通过异步操作把数据库中的数据复制到硬盘中。(异步操作,一种非阻塞执行任务的方式,其中任务的执行与结果的返回不会阻碍原者继续执行后续操作。)

优点

读写性能极高:Redis能读的速度是110000次/s,写的速度是81000次/s。

支持数据持久化:支持AOF和RDB两种持久化方式。

支持事务:Redis的所有操作都是原子性的,要么都成功执行,要么不执行。

数据结构丰富:除了支持string类型的value外,还支持hash、set、zset、list等数据结构。

支持主从复制:主机会自动将数据同步到从机,可以进行读写分离。

特性丰富:Redis还支持 publish/subscribe,通知,key过期等特性。

缺点

数据库容量受到物理内存的限制:不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。

主机宕机:宕机前有部分数据未能及时同步到从机,切换IP后还会引入数据不一致的问题,降低了系统的可用性。(主机北京,从机上海,北京用户连主机,上海用户连从机)

Redis速度快的原因

内存存储:Redis使用内存存储,没有磁盘IO上的开销。

单线程实现(Redis 6.0以前):Redis使用单个线程处理请求,避免了多个线程之间线程切换、锁资源争用的开销。

非阻塞IO:Redis使用多路复用IO技术,不在网络I/O上浪费过多的时间。

优化的数据结构:Redis有很多可以直接应用的优化的数据结构。

(2)Redis相比Memcached有哪些共同点和区别?

共同点

都是基于内存的数据库,⼀般都⽤来当做缓存使⽤。都有过期策略。性能都⾮常⾼。

区别

数据类型:Redis支持更为丰富的数据类型,支持string(字符串),list(列表),Set(集合)、Sorted Set(Zset有序集合)、Hash(哈希)等,Memcached所有的值,均是简单的字符串。

持久化:Redis支持数据落地持久化存储,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。memcache不支持数据持久存储,它把数据全部存在内存。

集群模式:Redis提供主从同步机制,以及 Cluster集群部署能力,能够提供高可用服务。Memcached没有原生的集群模式,需要依靠客户端来实现往集群中分片写入数据

网络IO模型:Redis使用单线程的多路 IO 复用模型,Memcached使用多线程的非阻塞IO模式。

过期策略:Redis 同时使⽤了惰性删除与定期删除,Memcached 过期数据的删除策略只⽤了惰性删除。

性能对比:Redis的速度比Memcached快很多。

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值