随笔分类 - redis
摘要:Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。 有序集合的成员是唯一的,但分数(score)却可以重复。 一、向有序集合添加一个或多个成员,或者更新已存
阅读全文
摘要:Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。 Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。 一、
阅读全文
摘要:Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边) 一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。 一、将一个或多个值插入到列表头部 命令:lpush 格式:lpush key value1
阅读全文
摘要:Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。 Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。 一、将哈希表 key 中的字段 field 的值设为 value 命令:hset 格式:hset
阅读全文
摘要:一、设置指定key的值 命令:set 格式:set key value 127.0.0.1:6379> set test_key test_value OK 二、获取指定key的值 命令:get 格式:get key 127.0.0.1:6379> get test_key "test_value"
阅读全文
摘要:一、下载redis源码,此处以redis 5.0.7为例 wget http://download.redis.io/releases/redis-5.0.7.tar.gz 二、解压 tar -xf redis-5.0.7.tar.gz 三、编译 cd redis-5.0.7/ make 四、启动
阅读全文
摘要:redis中压缩列表ziplist相关的文件为:ziplist.h与ziplist.c 压缩列表是redis专门开发出来为了节约内存的内存编码数据结构。源码中关于压缩列表介绍的注释也写得比较详细。 一、数据结构 压缩列表的整体结构如下(借用redis源码注释): 1 /* 2 <zlbytes> <
阅读全文
摘要:redis中整数集合intset相关的文件为:intset.h与intset.c intset的所有操作与操作一个排序整形数组 int a[N]类似,只是根据类型做了内存上的优化。 一、数据结构 1 typedef struct intset { 2 uint32_t encoding; 3 uin
阅读全文
摘要:redis中并没有专门给跳跃表两个文件。在5.0.7的版本中,结构体的声明与定义、接口的声明在server.h中,接口的定义在t_zset.c中,所有开头为zsl的函数。 一、数据结构 单个节点: typedef struct zskiplistNode { //key,唯一 sds ele; //
阅读全文
摘要:redis中字典相关的文件为:dict.h与dict.c 与其说是一个字典,道不如说是一个哈希表。 一、数据结构 dictEntry 1 typedef struct dictEntry { 2 void *key; 3 union { 4 void *val; 5 uint64_t u64; 6
阅读全文
摘要:redis中双向链表相关的文件为:adlist.h与adlist.c 一、数据结构 redis里定义的双向链表,与普通双向链表大致相同 单个节点: 1 typedef struct listNode { 2 struct listNode *prev; 3 struct listNode *next
阅读全文
摘要:redis中动态字符串sds相关的文件为:sds.h与sds.c 一、数据结构 redis中定义了自己的数据类型"sds",用于描述 char*,与一些数据结构 1 typedef char *sds; 2 3 /* Note: sdshdr5 is never used, we just acce
阅读全文
摘要:首先是安装,直接使用apt-get install就可以了 sudo apt-get update sudo apt-get install redis-server 以上命令,在本人win10的linux子系统上,直接就安装完成了。而在阿里云租的ubuntu 18.04,则报了以下错误 上面说在启
阅读全文
摘要:在菜鸟教程自学了redis,总想着像Mysql一样,在C/C++中进行对接。于是查询了一些资料,最后找到了hiredis。然而直接用它的话,难免有点不方便。于是,对其进行封装。 hiredis直接去git上克隆,地址:https://github.com/redis/hiredis。 下载好之后,由
阅读全文

浙公网安备 33010602011771号