redis
文章平均质量分 88
happytree001
这个作者很懒,什么都没留下…
展开
-
redis7.0多AOF文件
redis7.0rc1 多个AOF文件原创 2022-03-13 20:56:53 · 2703 阅读 · 0 评论 -
redis之辛勤的哨兵(五)你一个人说了不算
哨兵集群,只有哨兵leader进行故障切换原创 2021-12-22 20:46:17 · 861 阅读 · 0 评论 -
redis之辛勤的哨兵(四)你“老了”,该我上位啦
单哨兵进行故障master的切换过程原创 2021-12-19 22:44:44 · 508 阅读 · 0 评论 -
redis之辛勤的哨兵(三)发现replicate
哨兵主动发现master下有哪些replicate原创 2021-12-18 12:00:32 · 942 阅读 · 0 评论 -
redis之辛勤的哨兵(二)时刻关注你
redis哨兵不间断的给被监控的实例发送PING来检测实例的在线状态原创 2021-12-12 22:51:17 · 700 阅读 · 0 评论 -
redis之辛勤的哨兵(一)诞生日
redis的哨兵初始化过程原创 2021-12-07 21:52:43 · 1131 阅读 · 0 评论 -
redis之批量关注公众(发布订阅模式)
redis订阅channel时,可以通过pattern模糊的订阅多个channel。原创 2021-12-05 12:31:16 · 1117 阅读 · 0 评论 -
redis之关注公众号(发布订阅)
redis简单的发布订阅模式原创 2021-12-02 22:56:53 · 1775 阅读 · 0 评论 -
redis之紧凑的rdb文件
redis的rdb文件格式原创 2021-11-30 23:38:17 · 1274 阅读 · 0 评论 -
redis之相思而不得见-细粒度的访问控制列表ACL
# 一、简介对于早期的redis,在安全访问控制方面非常的弱,使用默认配置的话,能访问redis服务的任何人都能连接上服务,进行数据的操作,简直就是在裸奔一样;在redis2.2之前的版本最多也只能通过requirepass配置一个密码,任何知道密码的人也可以连接上redis进行删库跑路 ???? ,并且redis6之前的传输都是基于TCP明文传输的,直接抓个包就看到密码了,无密码可言;为了防止一些人对redis操作非常危险的命令,比如删库命令flushall等,在redis2.2.0开始可以通过re原创 2021-11-26 21:47:40 · 1513 阅读 · 0 评论 -
redis之短小精干的位图(三)逻辑操作
位图的逻辑操作,AND,OR ,NOT,XOR等原创 2021-11-17 21:58:39 · 695 阅读 · 0 评论 -
redis之短小精干的位图(二)批量操作
位图的批量操作原创 2021-11-16 22:29:20 · 1857 阅读 · 0 评论 -
redis之位图统计算法详解
redisPopcount函数对位图统计置1的bit位个数的原理原创 2021-11-14 21:15:52 · 1059 阅读 · 0 评论 -
redis之瘦小精干的位图 (一)
位图操作原创 2021-11-13 22:31:55 · 1188 阅读 · 0 评论 -
redis之嵌入式字符串对象
嵌入式字符串对象原创 2021-11-10 21:30:56 · 918 阅读 · 0 评论 -
redis之源码目录结构
redis6.2.6源码目录结构原创 2021-11-08 21:07:04 · 611 阅读 · 0 评论 -
redis之数据淘汰策略(三)lfu
redis4.0.0引入lfu,在lru基础上增加了访问次数的控制原创 2021-10-27 22:01:29 · 329 阅读 · 0 评论 -
redis之数据淘汰策略(二)lru
redis3.0的淘汰逻辑有所改变redis3.0.0的代码原创 2021-10-25 21:31:45 · 182 阅读 · 0 评论 -
redis之数据淘汰策略(一)
一、简介redis是内存数据库,全部数据都存放在内存中,但是内存的大小也是有限制的,不能无限使用,所以redis提供了相应的策略。前提是配置了最大内存限制 maxmemory <bytes>redis2.0.0之前的版本内存使用超过配置限制时,写失败,读正常redis2.0.0版本开始提供了vm功能vm功能介绍当内存使用超过配置限制时,并且使能vm功能,能将剔除一些数据交换到磁盘文件中正常读写,数据不丢失,但因为读写文件,性能低,受限磁盘空间大小redis2.2.0开始提供了原创 2021-10-20 22:43:00 · 178 阅读 · 0 评论 -
redis之radix tree
redis在4.0.0中为了解决集群慢的问题引入了新的数据结构raix tree。raix tree类似tried tree,但和正常的raix tree 有一定的区别,redis中的raix tree进行了优化,但更复杂。原创 2021-09-26 21:03:05 · 800 阅读 · 0 评论 -
redis之hash
redis的hash与一般hash不同之处在于扩容时渐进式的数据迁移,将一次很长的耗时操作平摊到了多次操作上,在单线程命令执行模式下极大的提升了吞吐量。原创 2021-09-06 21:02:02 · 1458 阅读 · 0 评论 -
redis之zipmap
一、简介zipmap是一个为优化Map<String, String>数据结构大小的结构。查找时间复杂度O(n)内存结构紧凑,访问效率高适用少量元素的hash, 一旦元素个数达到一定限制就会转化为正在的hash结构二、结构图三、实现3.1 宏定义#define ZIPMAP_BIGLEN 254#define ZIPMAP_END 255/* The following defines the max value for the <free> field原创 2021-08-17 23:15:20 · 441 阅读 · 0 评论 -
redis之listpack
一、简介对于ziplist,实现复杂,为了逆序遍历,每个entry中包含前一个entry的长度,这样导致在ziplist中间修改或者插入entry时可能产生级联更新。为了实现更紧凑、更快的解析,更简单的实现,重写实现了ziplist,listpack由此诞生。二、结构图2.1 整体结构头比ziplist少了4字节每个元素中只有自己的总长度来实现逆序遍历,更新时不会出现级联更新2.2 数据编码...原创 2021-08-16 20:18:01 · 2848 阅读 · 4 评论 -
redis之复制之谜(二)
redis的复制第三版(异步复制)redis在2.2.0版本中引入了replica异步接收数据原创 2021-07-01 22:06:25 · 538 阅读 · 0 评论 -
redis之单线程之谜
redis真的是单线程吗经常听到这样描述 "redis是一个开源的、单线程的、高性能的、支持多种数据结构的、键值对的、内存数据结构存储,可作为数据库、缓冲、消息中间件",但是redis真的是单线程的吗?其实不然,redis经过这么多年的发展,现在是一个多线程、多进程的服务程序。redis第一版0.091确实是一个单线程,多进程的程序,单线程接受用户连接、请求、处理命令、响应。因为单线程,所以不需要因多线程资源竞争而产生的锁开销,也不需要线程间的上下文切换,并且命令串行执行,每个请求.原创 2021-06-14 23:10:32 · 117 阅读 · 0 评论 -
redis之持久化之谜
redis作为全内存的服务程序,一旦进程重启则内存数据全部丢失,因此为了能在重启后数据依然存在,则需要将数据持久化到磁盘上。re'd原创 2021-06-26 10:33:58 · 506 阅读 · 0 评论 -
redis之复制之谜(一)
复制,表面意思就是一份拷贝,在redis中即为一个实例数据的备份,主要用于数据的跨主机备份,容灾处理,并且也是redis集群的基础。原创 2021-06-18 23:37:38 · 342 阅读 · 0 评论 -
redis之昙花一现的VM
什么是vmredis的vmredis的vm原理原创 2021-07-09 21:10:12 · 266 阅读 · 0 评论 -
redis之持久化
redis是内存级的服务器,一旦重启内存数据将会丢失,为了在重启时能数据恢复,则需要实时的将内存中的数据持久化到硬盘上。redis第一版持久化(RDB 全量同步) redis的第一个版本0.091就有持久化了,并且借助了Linux的cow(copy on write)特性生成内存数据快照,将后将快照数据序列化到硬盘上。当在修改请求量很大的情况下,在持久化过程中服务器重启,将导致大量的数据丢失。在系统资源一般的请求下,fork也会是一个性能消耗,将阻塞主进程的提供服务。...原创 2021-06-26 10:30:22 · 208 阅读 · 0 评论 -
redis之intset
一、简介redis包含了集合和有序集合。有序集合则是每个元素根据大小进行排序。redis中有序集合通过hash结构进行组织存储,当有序集合中所有元素都是整数时,使用hash则很浪费空间,所以当有序集合中都是整数时,使用intset。当在intset中加入了字符串元素,则整个intset将转化为hash结构。集合中每个元素都不重复有序集合,元素间有大小顺序二、intset整体结构三、实现3.1 结构定义typedef struct intset { uint32_t encodin原创 2021-08-12 22:40:21 · 513 阅读 · 0 评论 -
redis之ziplist
优点:占用空间少任意一个entry都可以向前或者向后遍历(类似双向链表)对比双向链表,ziplist是连续的内存,可随机访问,并且减少了next指针空间缺点:因为是内存连续的,如果修改中间的entry,可能需要数据拷贝修改时当数据长度超过当前类型,跨入下一个类型时,因下一个节点保持有上一个节点的长度,将产生连锁更新问题ziplist由zlbytes,zltail,zllen,entry,zlend构成。zlbytes表示整个ziplist的大小zltail表示最后一个entry.原创 2021-08-10 21:04:16 · 310 阅读 · 0 评论 -
redis之无处不在的sds
一、原创 2021-08-01 15:22:02 · 111 阅读 · 0 评论