
redis
文章平均质量分 95
zzh_404_not_found
这个作者很懒,什么都没留下…
展开
-
redis篇-源码篇
一、字符串原理1. 概述redis字符串特点:redis字符串在内存中是字符数组 redis字符串不是以NULL结尾的,因为要获取以NULL结尾的字符串的长度是使用strlen标准库函数来计算的,该算法的时间复杂度是O(n),需要对字节数组遍历,单线程的redis承受不起数据结构:redis的字符串为SDS,数据结构如下struct SDS<T>{ T capacity; // 数组容量 T len;原创 2021-08-14 18:01:45 · 2590 阅读 · 0 评论 -
redis篇-扩展篇
一、stream(kafka可替代,了解)二、info指令三、再谈分布式锁四、过期策略五、LRU六、懒惰删除七、优雅的使用redis八、保护redis九、redis安全通讯原创 2021-08-08 15:37:07 · 278 阅读 · 0 评论 -
redis篇-集群篇
一、主从同步二、sentinel三、codis四、cluster原创 2021-08-04 00:29:39 · 233 阅读 · 0 评论 -
redis篇-原理篇
前言:参照 《redis深度历险-核心原理与应用实践》一、线程IO模型概述:redis是一个单线程程序,它将所有的数据存储于内存中,所有运算都是内存级别的运算。正因为redis是单线程程序,对于时间复杂度为O(n)的指令需要小心使用。 redis使用多路复用来处理客户端连接1. 非阻塞IO阻塞IO:当我们调用socket读写套接字时,默认是阻塞的,例如read方法需要传递参数n,表示最多读取n个字节的数据后返回。若无数据,线程就会阻塞;write在内核为套接字分配的写缓冲区满了会阻原创 2021-07-31 21:02:45 · 1073 阅读 · 0 评论 -
redis篇-基础与应用篇(下)
前言:参照 《redis深度历险-核心原理与应用实践》一、布隆过滤器1. 概述场景:判断用户是否已经存在定义:可以将布隆过滤器视为精度没那么高的set,当使用它的contain方法判断对象是否存在时,可能会有误判。特征:当布隆过滤器认为某个值不存在时,这个值一定不存在;任务存在时,可能不存在2. redis中的布隆过滤器...原创 2021-07-19 23:03:30 · 348 阅读 · 0 评论 -
redis篇-基础与应用篇(上)
前言参照 《redis深度历险-核心原理与应用实践》一、redis基础结构简介1. 五种基础数据结构a. string简介:字符串是redis最简单的数据结构,内部表示是一个字符数组。redis所有的数据结构都以唯一的key字符串作为名称,通过key获取value。特性:动态字符串,采用预分配冗余空间方式减少内存的频繁分配(当字符串长度小于1MB时,扩容是加倍现有空间;大于1MB时,每次多扩1MB) 字符串最大长度是512MB操作:get/set/mget/mset/sete原创 2021-07-14 00:23:18 · 671 阅读 · 0 评论