随笔分类 -  Redis

1 2 下一页

[转载]为什么Redis集群有16384个槽
摘要:转载:专注java开发 redis集群架构,redis cluster 如下图所示对于客户端请求的key,根据公式HASH_SLOT=CRC16(key) mod 16384,计算出映射到哪个分片上,然后Redis会去相应的节点进行操作! 那大家思考过,为什么有16384个槽么?ps:CRC16算法 阅读全文

posted @ 2020-11-21 23:17 `Elaine 阅读(375) 评论(0) 推荐(0)

redis的过期策略
摘要:最近把内存淘汰策略和过期策略搞混了。。。。 Redis的过期策略就是指当Redis中缓存的key过期了,Redis是怎么处理的 Redis的过期策略有三种: 定时删除 在设置键的过期时间的同时,创建一个定时器,让定时器在键的过期时间来临时,立即执行对键的删除操作,并释放过期键占用的内存。 优点:对内 阅读全文

posted @ 2020-08-23 22:50 `Elaine 阅读(255) 评论(0) 推荐(0)

redis的tcp-backlog配置
摘要:有报障,说是连接超时。。。然后查看docker里有队列溢出 netstat -s | grep overflowed 通过抓取队列溢出的大小,发现每次报障时,实例的队列溢出数都会突增。 队列溢出是查看现有连接数是否大于backlog,如果大于就丢弃,并overflow数+1,backlog数是有配置 阅读全文

posted @ 2020-08-20 00:08 `Elaine 阅读(2015) 评论(0) 推荐(0)

Redis 3.0.4 sentinels
摘要:Sentinel(哨兵)是Redis高可用行解决方案:有一个或多个Sentinel实例组成的Sentinel系统可以监视任意多个服务器,以及这些这些祝服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动降下线祝服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替可以下线的 阅读全文

posted @ 2020-08-04 12:11 `Elaine 阅读(166) 评论(0) 推荐(0)

Redis 3.0.4 客户端
摘要:Redis服务器是典型的一对多服务器程序:一个服务器可以与多个客户端建立网络连接,每个客户端可以向服务器发送命令请求,而服务器则接受并处理客户端发送的命令请求,并向客户端返回命令回复。 通过使用由I/O多路复用技术实现的文件事件处理器,Redis服务器使用单线程但进程的方式来处理命令请求,并由多个客 阅读全文

posted @ 2020-07-30 00:31 `Elaine 阅读(271) 评论(0) 推荐(0)

Redis 3.0.4 事件驱动
摘要:Redis是一个事件驱动内存数据库,服务器需要处理一下两类事件: 文件事件:Redis服务器通过套接字和客户端进行连接,而文件事件就是服务器对套接字操作的抽象。服务器与客户端的通信会产生相应的文件事件,而服务器则通过监听并处理这些事件来完成一系列网络通信操作。 时间事件:Redis服务器中的一些操作 阅读全文

posted @ 2020-07-15 23:18 `Elaine 阅读(218) 评论(0) 推荐(0)

Redis 3.0.4 AOF持久化
摘要:1.aof持久化 1.1.redis提供了两种持久化机制,rdb持久化和aof持久化。 1.rdb持久化:把内存中的数据库状态以快照形式保存到磁盘,避免数据意外丢失。优点是文件小,重启时加载很快,缺点是重启加载时,备份时间点之后的数据会丢失。 2.aof持久化:通过保存redis服务器所执行的写命令 阅读全文

posted @ 2020-07-07 23:07 `Elaine 阅读(176) 评论(0) 推荐(0)

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

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

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

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

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

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

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

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

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

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

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

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

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 阅读(124) 评论(0) 推荐(0)

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 阅读(239) 评论(0) 推荐(0)

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

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

redis重命名flushall和flushdb重启失败
摘要:redis重命名flushall和flushdb,将使用中的redis重命名redis会启动失败并且log中有报错 是因为实例之前执行过flushall和flushdb,并且实例是打开aof,rename命令之后,重启redis,会先加载appendonly.aof文件,但是在appendonly. 阅读全文

posted @ 2019-12-09 17:08 `Elaine 阅读(1237) 评论(0) 推荐(1)

redis3.2 aof重写
摘要:redis关闭aof,缩容,redis实例一直在重写。 原因也是redis3.2的bug,aof重写是没有判断aof是否开启。 redis缩容后改变的是redis重写的min_size,缩容之前,实例的min_size 是100G,在aof_current_size等于A时关闭了aof,但是redi 阅读全文

posted @ 2019-11-29 17:16 `Elaine 阅读(473) 评论(0) 推荐(0)

【转载】Redis 4.0 自动内存碎片整理(Active Defrag)源码分析
摘要:click原文链接原文链接:https://blog.csdn.net/zouhuajianclever/article/details/90669409阅读本文前建议先阅读此篇博客: Redis源码从哪里读起 Redis 4.0 版本增加了许多不错的新功能,其中自动内存碎片整理功能 actived 阅读全文

posted @ 2019-10-31 11:49 `Elaine 阅读(941) 评论(0) 推荐(0)

【转载】redis容灾策略
摘要:版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。 https://blog.csdn.net/Irean_Lau/article/details/51360277 基本的redis的容灾策略为: 1 采用master-slave方式 2 为了得到好的读写性能, 阅读全文

posted @ 2018-08-31 20:38 `Elaine 阅读(987) 评论(0) 推荐(0)

1 2 下一页

导航