Redis的发布和订阅
Redis的发布和订阅功能分为频道订阅和模式订阅两种。每当有其他客户端向被订阅的频道发送消息时,频道的所有订阅者都会收到这条消息。 频道订阅 当一个客户端执行SUBSCRIBE命令订阅某个或某些频道时,这个客户端与被订阅频道之间就建立起了一...
Redis的发布和订阅功能分为频道订阅和模式订阅两种。每当有其他客户端向被订阅的频道发送消息时,频道的所有订阅者都会收到这条消息。 频道订阅 当一个客户端执行SUBSCRIBE命令订阅某个或某些频道时,这个客户端与被订阅频道之间就建立起了一...
Redis通过MULTI、EXEC、WATCH、DISCARD等命令来实现事务功能。主要有以下三个阶段: 事务开始 MULTI命令的执行,标识着一个事务的开始。MULTI命令会将客户端状态的flags属性中打开REDIS_MULTI标识来完...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
Redis集群是Redis提供的分布式数据库方案,集群通过分片(Sharding)来进行数据共享,并提供复制和故障转移功能。 节点 一个节点就是一个运行在集群模式下的Redis服务器,Redis服务器在启动的时候会根据cluster-ena...
Sentinel(哨兵、哨岗)是Redis的高可用(high availability)解决方案:由一个或多个Sentinel实例组成Sentinel系统可以监视任意多个主服务器以及它们属下的所有从服务器,并在监视主服务器进行下线时,将主服...
Redis的复制功能分为同步(sync)和命令传播(command propagate)两个操作。 同步 同步操作用于将从服务器的数据库状态更新至主服务器当前所处的数据库状态。 1. 旧版本的执行步骤 1、 从服务器向主服务器发送SYNC命...
Redis服务器是一个事件驱动程序,服务器需要处理两类事件:文件事件(file event)和时间事件(time event) Redis事件处理流程 aeMain函数通过调用aeProcessEvents函数来进行文件事件和时间事件的调度...
Redis官方提供了两种数据持久化的方式,分别是:RDB和AOF。今天我们来讨论一下这两种持久化方式的区别。 RDB 基本原理:RDB持久化主要是通过SAVE和BGSAVE两个命令对Redis数据库中当前的数据做snapshot并生成rdb...
Redis一共支持5种数据结构,hash是其中的一种,在hash扩容的时候采用的是渐进式rehash的方式。要想深入理解渐进式rehash,首先要了解以下Redis中hash的数据结构。 哈希表节点 typedef struct dictE...
Key的过期策略 Redis的Key有3种过期删除策略,具体如下: 1. 定时删除 原理:在设置键的过期时间的同时,创建一个定时器(timer),让定时器在键的过期时间来临时,立即执行对键的删除操作 优点:能够很及时的删除过期的Key,能够...
Redis中的每个对象都由一个redisObject结构表示,该结构中和保存数据有关的三个属性分别是type、encoding和ptr: typedef struct redisObject { unsigned type:4; // 类型...