上一页 1 2 3 4 5 6 ··· 32 下一页

2020年7月2日

Redis 3.0.4 数据库

摘要: 今天来更新下数据库。。。。 1.Redis中的数据库,Redis服务器将所有的数据库都保存在服务器状态都保存在redisServer的结构中。 1.db数组的每一项是一个redisDb结构,代表一个数据库; 2.dbnum是表示数据库数目,有redis.conf里的配置决定。 typedef str 阅读全文

posted @ 2020-07-02 23:28 `Elaine 阅读(163) 评论(0) 推荐(0) 编辑

2020年6月30日

Redis 3.0.4 RDB持久化

摘要: 跳过了数据库等别的内容,跳到了RDB,别的之后会补回来、 RDB持久化,是将redis内存中的数据库状态保存到磁盘里,以免数据意外丢失,可以手动执行,也可以通过配置执行。 手动执行: SAVE: 会阻塞服务器进程,直到RDB文件创建完毕。 BGSAVE:会fork一个子进程,然后由子进程负责创建RD 阅读全文

posted @ 2020-06-30 23:27 `Elaine 阅读(277) 评论(0) 推荐(0) 编辑

2020年6月28日

Redis 3.0.4 压缩列表

摘要: 压缩列表是列表键和哈希键的底层实现之一。 1.压缩列表的构成 1.1.ziplist结构如图 zlbytes(4字节) : 表示压缩表的总长; zltail(4字节):表示压缩列表表尾节点距离列表的起始地点有多少字节; zllen(2字节):表示压缩列表包含的节点数量(当值小于uint16_max 阅读全文

posted @ 2020-06-28 22:15 `Elaine 阅读(204) 评论(0) 推荐(0) 编辑

2020年6月19日

Redis 3.0.4 整数集合

摘要: 整数集合是集合键的底层实现,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会用整数集合作为集合键的底层实现。inset采用的是连续内存空间实现,默认是用16位整数,当加入元素/删除元素都要进行扩容缩容,如果新加入的元素大于16位,则要对空间进行扩充。 1、整数集合的结构 ty 阅读全文

posted @ 2020-06-19 23:05 `Elaine 阅读(140) 评论(0) 推荐(0) 编辑

Redis 3.0.4 跳跃表

摘要: 跳跃表是一种有序数据结构,他是通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。在的插入和删除都可以在O(lgN)时间复杂度内搞定 Redis在两个地方用到跳跃表,一个是实现有序集合键,另一个是在集群节点中用作内部数据结构。 1.跳跃表的实现 /* ZSETs use a sp 阅读全文

posted @ 2020-06-19 22:49 `Elaine 阅读(161) 评论(0) 推荐(0) 编辑

2020年6月17日

Redis 3.0.4 字典

摘要: redis的字典使用哈希表作为底层实现,一个哈希表里面可以有多个哈希表,而每个哈希表节点就保存了字典中的一个键值对。 1.哈希表 typedef struct dictht { //哈希表 dictEntry **table; //存放一个数组的地址,数组存放着哈希表节点dictEntry的地址 u 阅读全文

posted @ 2020-06-17 23:32 `Elaine 阅读(142) 评论(0) 推荐(0) 编辑

2020年6月14日

Redis 3.0.4 链表

摘要: redis链表的实现是双向链表. 每个链表节点的结构如下: typedef struct listNode { //前置节点 struct listNode *prev; //后置节点 struct listNode *next; void *value; } listNode; 表头结构 type 阅读全文

posted @ 2020-06-14 22:00 `Elaine 阅读(117) 评论(0) 推荐(0) 编辑

2020年6月13日

Redis 3.0.4 简单动态字符串(sds)

摘要: 字符串是Redis最常见的结构,Redis没有用C中的字符串,是自己构建的simple dynamic string来表示字符串 字符串的源码在sds.c/sds.h sds的基本结构 struct sdshdr { unsigned int len; //len表示当前buf中已使用字节长度 un 阅读全文

posted @ 2020-06-13 22:29 `Elaine 阅读(221) 评论(0) 推荐(0) 编辑

2020年5月5日

4. 寻找两个有序数组的中位数

摘要: 好久没有刷过题了,刚好最近刷了几道,然后也复习下vector的用法. 题目是给了两个数组,然后求中位数,可以看成是求最K小的数,如果时间上没有要求的话,可以用暴力遍历就行。 因为已知数组是排好序的,所以只需要将两个数组的进行O(max(n,m))的遍历,然后根据数组长度的奇偶性,输出中位数,然后样例 阅读全文

posted @ 2020-05-05 23:29 `Elaine 阅读(180) 评论(0) 推荐(0) 编辑

2020年4月20日

redis主从同步异常

摘要: 前几天遇到了一个主从同步异常的问题,主库是3.0版本,从库3.0只读,主库key已经过期了,但是从库还能查到。 对于过期key,只读从库不会主动删除,当key过期后,如果主库对过期key处理的不及时,那么从库还是会读到这个key。 小于3.2版本的redis会存在这个问题,大于等于3.2版本的red 阅读全文

posted @ 2020-04-20 11:16 `Elaine 阅读(373) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 32 下一页

导航