5.redis源码解析 暂不开放...
5.redis源码解析 暂不开放...
4. Redis Cluster 《4.1.1.2 集群解决的第二个问题》中提到我们去做集群实际上是为了解决机器的性能瓶颈。通俗来讲:假设我们单台机器可以支持100Q...
3.哨兵机制 在《4.1 集群设计绕不开的话题》中我们提到了单点故障的问题,在《4.2 主从复制》中我们又提到了使用从库来做主库的备份,保证数据尽量不丢失。不过问题来...
2. 主从同步 Redis可以实现一主N从,为了减少主库的复制压力,还可以做到从从复制。例如:一个主库挂两个从库,两个从库又各自挂了两个从库。 一个slav...
1. 集群设计绕不开的话题 我接触了很多技术栈,比如:Redis、Kafka、ELasticsearch、Zookeeper等等,对于当时是一个初学者的我来说,这些技...
12. 监视器 在上一章《3.11 键通知》我们讲了Redis的Key发生变化的时候会产生键通知,并且通过pub/sub机制来让订阅的客户端知晓键通知。那么如果我想知...
11. 键通知 我们希望得到“某个键的所有操作”或者“某个操作的所有键”的时候就可以用到键通知了。键通知其实用的就是pub/sub功能,举个例子:我们给Redis发送...
10. lua脚本 其实在《3.7.1 单机Redis的分布式锁》的一段python代码中已经使用到了lua脚本,当时是为了解决在Redis中取值和比对的原子性问题。...
9. Redis事务 9.1 Redis事务基本原理 基本上数据库都会有事务这个概念,像Mysql的事务就满足ACID特性,但是Redis的事务并不是这样。Redis...
8. 管道 管道(pipeline)并不是Redis独有的一个功能,也不是Redis先提出的。Redis是用的C/S架构模型,请求和响应是由RESP(在《3.3 Re...
7.分布式锁 7.1 单机Redis的分布式锁 分布式锁的终极奥义就是在一个地方有一个唯一资源,当多个客户端过来时,谁先抢到这个资源,谁就获得了赢取其他公共资源的资格...
6. 持久化(RDB/AOF) 众所周知,Redis是个将数据存在内存的数据库,当机器宕机的时候数据会全部丢失。因此Redis给了两种持久化方案,即:RDB(Redi...
5.LRU / LFU 5.1 LRU 在服务器配置中保存了 lru 计数器 server.lrulock,会定时(Redis 定时程序serverCorn())更新...
4. 淘汰策略 4.1 过期键删除 4.1.1 过期策略 在《1.1 redisObject》章节中我们看到“lru:LRU_BITS”字段记录了一个24bits的时...
3. Redis的通信协议 先贴一个 官方文档[https://redis.io/topics/protocol] 3.1 RESP RESP(redis Serializa...
2. 事件 在讲Redis的事件之前我们必须要聊一个话题 —— 面试问到Redis基本上必问这样一个问题:Redis是个单线程的程序,为什么还能这么快?很多同学就会卡...
1.redis客户端与服务端 1.1 客户端 1.1.1 客户端种类 redis 客户端主要分为三种,普通客户端、发布订阅客户端、slave 客户端。 普通客户端我们不用多说...
6. pub/sub Redis可以执行发布/订阅模式(publish/subscribe), 该模式可以解耦消息的发送者和接收者,使程序具有更好的扩展性。从宏观上...
5. stream 很多同学并不认识这个数据结构,确实,在Redis 5.0之前并没有这个数据结构。这个数据结构称之为“流”,为什么叫“流”呢?这种数据就像流水一样,...