
redis
文章平均质量分 96
redis
闲谈社
有没有生发神药推荐啊
展开
-
Redis 高可用:主从复制、哨兵模式、集群模式
1、高可用是分布式的概念。Redis的高可用性是指在Redis集群中,当主节点宕机了,通过切换备用节点顶替它继续运行,保持系统正常运行且数据可靠性不受影响。1)避免单点故障:通过配置和设置多个Redis节点,如果其中一个节点发生故障,其他节点可以接替工作,避免了单点故障对整个系统的影响。2)数据冗余和复制:通过数据的复制和持久化备份,Redis能够在主节点出现故障时,自动切换到备用节点,并恢复数据,确保数据的持久性和可用性。原创 2023-08-01 10:54:01 · 924 阅读 · 0 评论 -
redis 淘汰策略和持久化
AOF优点:数据可靠,丢失较少。持久化鬼哟踩代价较低(只记录写命令)。缺点:AOF文件过大,数据恢复慢。优点:RDB文件小,数据恢复快。缺点:数据一旦丢失,则丢失的数据量比较多。且持久化过程代价比较高(记录内存所以数据)。优点:充分利用 RDB 和 AOF 持久化各自的优点,以提供更好的数据安全性和快速恢复能力缺点:带来额外的存储空间占用和性能开销,因为需要同时维护 RDB 文件和 AOF 文件。原创 2023-07-30 21:57:22 · 587 阅读 · 0 评论 -
redis 存储原理与数据模型
然而,如果直接使用KEYS命令获取所有键,会对性能产生严重影响,因为KEYS命令会阻塞其他操作,并且在数据集较大时,返回所有键也会消耗大量内存。经过证明,当数据量足够大(256)时,通过概率构造的跳表趋向于理想跳表,并且此时如果删除节点,无需重构跳表结构,此时依然趋向于理想跳表。在 redis 实例中形成了很大的对象,比如一个很大的 hash 或很大的 zset,这样的对象在扩容的时候,会一次性申请更大的一块内存,这会导致卡顿;redis的EXPIRE机制用于设置键的过期时间,即在指定时间后自动删除键。原创 2023-07-29 17:58:27 · 1615 阅读 · 4 评论 -
redis线程模型
在 redis 6.0 版本之后,也采用了多个 I/O 线程来处理网络请求,这是因为随着网络硬件的性能提升,redis 的性能瓶颈有时会出现在网络 I/O 的处理上。通过这种队列模型和任务调度方式,主线程在兼顾生产者和消费者角色的同时,能够高效地将任务分发给对应的 I/O 线程进行处理,以提高并发性能和系统的吞吐量。2)IO密集型 —— 网络IO :当redis服务多个客户端时,如果数据请求或返回数据量比较大时,造成了IO密集型的情况,也是比较耗时的操作。首先需要注意的是,redis整体而言并不是单线程。原创 2023-07-29 14:12:34 · 1270 阅读 · 0 评论 -
redis事务和异步连接
2)一致性(Consistency):事务的前后,所有的数据都保持一个一致的状态,不能违反数据的一致性检测;redis 客户端以 MULTI 开启一个事务,发送多个命令到服务端的队列,直到发送 EXEC 命令后redis 服务端才会执行队列中的命令,将队列作为一个整体来执行。2)假如开始有2个消费者,一个消费者突然挂掉了,另外一个消费者依然能收到消息,但是如果刚挂掉的消费者重新连上1)后,在断开连接期间的消息对于该消费者来说彻底丢失了;比如如下图,我们希望执行的顺序是命令1,命令2,命令3。原创 2023-07-22 11:23:50 · 399 阅读 · 1 评论 -
Redis入门基础命令
redis( Remote Dictionary Service – 远程字典服务),它是一款开源、高性能的键值存储数据库。它支持各种数据结构,包括**字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(ZSet)**等,并提供了丰富的操作命令,可以对这些数据结构进行灵活的读写操作。redis以内存为主要存储介质,这使得它具有非常快速的读写性能。同时,Redis也支持将数据持久化到磁盘,以便在重启或崩溃恢复后保留数据。原创 2023-07-19 20:59:03 · 1279 阅读 · 0 评论