![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 136 阅读 · 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 · 127 阅读 · 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 · 129 阅读 · 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 · 138 阅读 · 0 评论 -
redis基本操作(五)
keys * : 所有的key值(支持模糊匹配)exists key: 判断key是否存在,存在返回1expire 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 · 131 阅读 · 0 评论 -
redis基本操作(四)
set 不允许重复sdd name value 往name这个set中添加元素valuesmembers 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 · 102 阅读 · 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 · 88 阅读 · 0 评论 -
redis基本操作(二)
Hash类型hset hashname key value 在hashname 这个hash集合中添加key-value键值对hget hashname key value 在hashname 这个hash集合中获取key对应的valuehashname 中可以保存多个key-value键值对上面的是单条进行操作,可以使用hmset 来 一次性执行多条操作hexistsha...原创 2020-02-06 09:29:40 · 101 阅读 · 0 评论 -
redis基本操作(一)
get xxx 得到xxx对应的valuesset key value 设置key对应的值是valuesetnx key value 如果key不存在那么就设置为value(返回1,表示成功),如果存在就不设置(返回0,表示失败)setex key time value 设置key对应的值为value,保存的时间为time时长,过了这个时间返回nilsetrange key p...原创 2020-02-06 08:49:25 · 102 阅读 · 0 评论