redis
文章平均质量分 90
yongge
用图片记录知识
展开
-
Redis基本命令源码解析-有序集合相关命令
如果元素不存在,如果不是xx,则在skiplist中插入节点,在dict中添加kv。如果值对象编码是ziplist,如果元素存在,如果是nx,则标志为不操作返回。如果是incr,则累加分值,如果分值变化了,则删除跳跃表节点并插入新节点。从db中根据key获得值对象,如果值对象是空或类型不是zset,则返回。从db中根据key获得值对象,如果值对象是空或类型不是zset,则返回。从db中根据key获得值对象,如果值对象是空或类型不是zset,则返回。原创 2024-07-07 11:27:41 · 754 阅读 · 0 评论 -
Redis基本命令源码解析-字符串命令
incrby key incr 调用incrbyCommand-->调用incrDecrCommand(incr)decr key 调用decrCommand-->调用incrDecrCommand(-1)incr key 调用incrCommand-->调用incrDecrCommand(1)如果nx=1,则要在db中查找所有的key,只要有一个key存在,则不能设置。或者增加的值>0并且原值>0并且增加的值>最大值,则响应值溢出并返回。如果值对象不存在,如果value为空,则响应0并返回。原创 2024-07-07 11:09:12 · 987 阅读 · 0 评论 -
深入刨析Redis存储技术设计艺术(二)
int hz;int sofd;int dbnum;int aof_fd;*/*//* ACLs */char *configfile:配置文件绝对路径int hz:serverCron的执行频次。原创 2024-07-05 09:51:56 · 1118 阅读 · 0 评论 -
深入刨析Redis存储技术设计艺术(一)
encoding:4bit,表示value内部存储的编码 10大编码 String: raw(0)、int(1)、embstr(8) hash: ht(2)、zipmap(3)、ziplist(5) list: quicklist(9) zet: intset(6)、ziplist(5) zset: skiplist(7) stream: listpack(10)如果是idletime key,则查找该键的robj对象,如果是lfu淘汰策略,则响应错误。原创 2024-07-05 09:43:50 · 1055 阅读 · 0 评论 -
Redis配置文件参数详解
17. 指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。21. 指定是否启用虚拟内存机制,默认值为no,简单的介绍一下,VM机制将数据分页存放,由Redis将访问量较少的页即冷数据swap到磁盘上,访问多的页面由磁盘自动换出到内存中(在后面的文章我会仔细分析Redis的VM机制)原创 2024-06-14 16:22:06 · 797 阅读 · 0 评论