Redis为什么快?(面试常问)

您所在的位置:网站首页 另存为之前的内容还在么 Redis为什么快?(面试常问)

Redis为什么快?(面试常问)

2023-07-02 06:56| 来源: 网络整理| 查看: 265

Redis是一个开源的高性能内存数据库,特点是数据存储在内存中,操作时性能更高;还支持多种数据结构,String、Hash、list、set、zset等,key还支持自动过期。Redis的好处是因为数据存在内存中所以性能更高,还有因为是单线程操作,所以天然具有线程安全的特性,单线程又能避免多线程的频繁上下文切换问题。 Redis的坏处也是因为数据存储在内存中,内存在重启后就会消失,所以会有数据丢失的问题。 Redis本身提供了两种备份策略,一种是RDB,每5min进行一次全量的快照备份,另一种是AOF,每1s进行一次增量备份,在实际使用时是结合使用,就是使用RDB每5分钟进行一次快照备份,然后在两次快照之间使用AOF进行备份。这样做的好处是可以避免AOF文件过大。虽然Redis提供了备份策略保障不丢失,但是在实际业务中我们也还会在Mysql中保存一份数据做持久化的存储,因为Mysql的好处就是数据存储在磁盘上服务重启也不会丢失。

总结来讲就是:

1.Redis(内存操作)完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。

2.(单线程,省去线程切换、锁竞争的开销)采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗;

3.(NIO 的 IO 多路复用模型)使用多路 I/O 复用模型,非阻塞 IO;这里“多路”指 的是多个网络连接,“复用”指的是复用同一个线程。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3