
redis
文章平均质量分 95
俺 也一样
这个作者很懒,什么都没留下…
展开
-
redis zipList 压缩列表源码分析
#define ZIP_END 255 #define ZIP_BIGLEN 254 /* Different encoding/length possibilities */ #define ZIP_STR_MASK 0xc0 #define ZIP_INT_MASK 0x30 #define ZIP_STR_06B (0 << 6) #define ZIP_STR_14B (...原创 2020-02-15 18:12:07 · 181 阅读 · 0 评论 -
redis intset 整数集合源码分析
// 整数集合 typedef struct intset { // 编码方式 uint32_t encoding; // 集合包含元素的数量,注意是元素的数量,不是contents保存元素的字节数 uint32_t length; // 保存元素的数组 int8_t contents[]; } intset; #define INTSET_E...原创 2020-02-13 18:02:41 · 193 阅读 · 0 评论 -
redis list 链表源码分析
// 双向链表 typedef struct listNode { struct listNode *prev; struct listNode *next; void *value; } listNode; typedef struct list { // 表头节点 listNode *head; // 表尾节点 listNo...原创 2020-02-11 19:56:19 · 173 阅读 · 0 评论 -
redis dict 字典源码分析
// 调用hash生成函数,生成key对应的hash值 #define dictHashKey(d, key) (d)->type->hashFunction(key) // 比较key1和key2是否相等,相等返回真 // 如果有提供key值比较的函数就调用这个函数,没有的话就直接比较key #define dictCompareKeys(d, key1, key2) \ ...原创 2020-02-11 17:12:12 · 190 阅读 · 0 评论 -
redis基本操作(五)
keys * : 所有的key值(支持模糊匹配) exists key: 判断key是否存在,存在返回1 expire key time : 设置key的存活时间是time秒 ttl key : 查看key的剩余时间 persist key : 取消key的过期时间 select num: 选择第num个数据库(0-15) mov key index : 把当前数据库中的key转移到第...原创 2020-02-08 10:10:33 · 179 阅读 · 0 评论 -
redis基本操作(四)
set 不允许重复 sdd name value 往name这个set中添加元素value smembers name 打印name这个set的元素 sinter set1 set2 : 返回set1和set2的交集 sinterstore set3 set1 set2:把set1和set2的交集放到set3中 sunion set1 set2 : 返回set1和set2的并集 sun...原创 2020-02-07 10:19:54 · 166 阅读 · 1 评论 -
redis基本操作(三)
flushdb: 清空数据 lpush name value : 往name这个栈结构中添加元素value(也可以认为是从list的头部添加数据) rpush name value : 往name这个队列结构中添加元素value(也可以认为是从list的尾部添加数据) lrange name 0 -1 : 从name这个结构中0位置到结束位置,遍历打印元素 linsert name be...原创 2020-02-07 09:42:20 · 123 阅读 · 0 评论 -
redis基本操作(二)
Hash类型 hset hashname key value 在hashname 这个hash集合中添加key-value键值对 hget hashname key value 在hashname 这个hash集合中获取key对应的value hashname 中可以保存多个key-value键值对 上面的是单条进行操作,可以使用hmset 来 一次性执行多条操作 hexistsha...原创 2020-02-06 09:29:40 · 142 阅读 · 0 评论 -
redis基本操作(一)
get xxx 得到xxx对应的values set key value 设置key对应的值是value setnx key value 如果key不存在那么就设置为value(返回1,表示成功),如果存在就不设置(返回0,表示失败) setex key time value 设置key对应的值为value,保存的时间为time时长,过了这个时间返回nil setrange key p...原创 2020-02-06 08:49:25 · 140 阅读 · 0 评论