摘要: 悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿·丘吉尔 当 AOF 写回策略配置了 Always 策略,如果写入是一个大 Key,主线程在执行 fsync() 函数的时候,阻塞的时间会比较久,因为当写入的数据量很大的时候,数据同步到硬盘这个过程是很耗时的。 AOF 重写机制和 RDB 阅读全文
posted @ 2025-04-07 13:57 Tsukinor 阅读(20) 评论(0) 推荐(0)
摘要: 悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿·丘吉尔 尽管 RDB 比 AOF 的数据恢复速度快,但是快照的频率不好把握: 如果频率太低,两次快照间一旦服务器发生宕机,就可能会比较多的数据丢失; 如果频率太高,频繁写入磁盘和创建子进程会带来额外的性能开销。 那有没有什么方法不仅有 R 阅读全文
posted @ 2025-04-07 13:24 Tsukinor 阅读(37) 评论(0) 推荐(0)
摘要: 悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿·丘吉尔 虽说 Redis 是内存数据库,但是它为数据的持久化提供了两个技术。 分别是 「AOF 日志和 RDB 快照」。 这两种技术都会用各用一个日志文件来记录信息,但是记录的内容是不同的。 AOF 文件的内容是操作命令; RDB 文件的 阅读全文
posted @ 2025-04-07 13:22 Tsukinor 阅读(22) 评论(0) 推荐(0)
摘要: 悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿·丘吉尔 AOF日志 试想一下,如果 Redis 每执行一条写操作命令,就把该命令以追加的方式写入到一个文件里,然后重启Redis 的时候,先去读取这个文件里的命令,并且执行它,这不就相当于恢复了缓存数据了吗? 这种保存写操作命令到日志的持 阅读全文
posted @ 2025-04-06 20:15 Tsukinor 阅读(44) 评论(0) 推荐(0)
摘要: 悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿·丘吉尔 Redis Stream 是 Redis 5.0 版本新增加的数据类型,Redis 专门为消息队列设计的数据类型 在 Redis 5.0 Stream 没出来之前,消息队列的实现方式都有着各自的缺陷,例如: 发布订阅模式,不能持久 阅读全文
posted @ 2025-04-06 17:05 Tsukinor 阅读(102) 评论(0) 推荐(0)
摘要: 悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿·丘吉尔 Zset 类型(有序集合类型)相比于 Set 类型多了一个排序属性 score (分值),对于有序集合 Zset 来说,每个存储元素相当于有两个值组成的,一个是有序集合的元素值,一个是排序值。 有序集合保留了集合不能有重复成员的特 阅读全文
posted @ 2025-04-06 16:20 Tsukinor 阅读(22) 评论(0) 推荐(0)
摘要: 悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿·丘吉尔 Set 类型是一个无序并唯一的键值集合,它的存储顺序不会按照插入的先后顺序进行存储。 一个集合最多可以存储 2^32-1 个元素。概念和数学中个的集合基本类似,可以交集,并集,差集等等,所以 Set 类型除了支持集合内的增删改查, 阅读全文
posted @ 2025-04-06 16:11 Tsukinor 阅读(38) 评论(0) 推荐(0)
摘要: 悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿·丘吉尔 Hash 是一个键值对(key-value)集合,其中 value 的形式如value=[{field1, value1},...[{fieldN,valueN}]。Hash 特别适合用于存储对象。 内部实现 Hash 类型的底层 阅读全文
posted @ 2025-04-06 15:42 Tsukinor 阅读(34) 评论(0) 推荐(0)
摘要: 悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿·丘吉尔 list列表是简单的字符串列表,按照插入顺序排序,可以从头部或尾部向list列表添加元素。 列表的最大长度为2^32-1,也即每个列表支持超过40亿个元素 内部实现 List 类型的底层数据结构是由双向链表或压缩列表实现的: 如果 阅读全文
posted @ 2025-04-06 15:28 Tsukinor 阅读(41) 评论(0) 推荐(0)
摘要: 悲观者从机会中看到困难。乐观者从困难中看到机会。 ——温斯顿·丘吉尔 string是最基本的key-value结构,key是唯一标识,value是具体的值,value其实不仅是字符串。也可以是数字(整数或浮点数),value 最多可以容纳的数据长度是512M。 内部实现 string类型的底层的数据 阅读全文
posted @ 2025-04-06 15:11 Tsukinor 阅读(16) 评论(0) 推荐(0)