redis
花大师
不要假装很努力,结果不会陪你演戏!
展开
-
redis的client list在实际中的应用
文章目录原创 2021-05-11 10:53:04 · 417 阅读 · 2 评论 -
20亿redis数据迁移总结
mark原创 2021-04-28 20:01:39 · 222 阅读 · 0 评论 -
redis潜在的瓶颈
Redis单线程处理IO请求性能瓶颈1、任意一个请求在server中一旦发生耗时,都会影响整个server的性能,也就是说后面的请求都要等前面这个耗时请求处理完成,自己才能被处理到。耗时的操作包括以下几种:a、操作bigkey:写入一个bigkey在分配内存时需要消耗更多的时间,同样,删除bigkey释放内存同样会产生耗时;b、使用复杂度过高的命令:例如SORT/SUNION/ZUNIONSTORE,或者O(N)命令,但是N很大,例如lrange key 0 -1一次查询全量数据;c、大量key集中原创 2020-12-13 17:04:37 · 740 阅读 · 0 评论 -
Redis之Cluster(集群)
上文书说到了sentinel,本次来介绍下cluster,这是个分布式的方案,通过分片(sharding)来共享数据,并且支持故障转移,放在当前是流弊的。节点: 通常是指一台服务器,也有可能一台机器上部署多个redis,就叫多个节点或多个实例。多个节点如:127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002,三个节点要相互通信可以线登陆到7000上,通过cluster meet 127.0.0.1:7001 来进行握手,加入到大家庭中。在握手的过程中,...原创 2020-05-23 13:44:33 · 195 阅读 · 0 评论 -
Redis之sentinel
sentinel是redis 高可用的一种架构,主要是由多个sentinel组成监视系统,可以监视多个主从服务器,在他们下线的时候 进行自动切换升级。sentinel启动的时候和启动主从并无特别大的区别sentinel 每隔10秒向主服务器发送心跳,通过命令监视返回主服务器的INFO信息,主要由两个作用:1、监控master是否存活2、解析返回的INFO信息,并且把其中有关slave的信息存到sentinel的字典中。当sentinel发现主服务器中有新的从服务器的时候,会为这个原创 2020-05-23 10:26:58 · 492 阅读 · 0 评论 -
5张图教你搭建Redis的cluster
原创 2020-05-17 15:50:13 · 110 阅读 · 0 评论 -
Redis之复制
所谓的复制就是从一台机器复制到另外一台机器上,大部分都是我们经常听到到主从同步。或者从从同步。同步到命令 slaveof 127.0.0.1复制分为同步和命令传播【旧版复制】当从服务器向主服务器发送slaveof命令的时候主要是通过sync命令来完成的,以下介绍sync的执行步骤:1、从服务器向主服务器发送sync命令2、主服务器接收到sync命令后,会启动一个bgsave命令在后台生成一个rdb文件,并开辟一块缓冲区存储生成文件的过程中执行的命令3、当主服务器生成rdb后,会推原创 2020-05-16 16:38:09 · 516 阅读 · 0 评论 -
Redis之AOF持久化
在实际中aof因为是不停的存命令,会导致aof文件体积急剧膨胀。为了解决这个问题。提供了一个rewrite功能,通过该功能,redis可以创建一个新的aof文件,替代现有的aof,新旧保存的相同。但新的里面不会包涵aof这些冗余的命令。所以体积要小这种重写,会导致文件不一致,为了避免这个问题。在开始重写的时候会创建一个缓冲期,把重写期间的命令全部放到缓冲区里,同时给aof 和重写aof都发命令...原创 2020-05-16 13:31:27 · 169 阅读 · 0 评论 -
Redis之rdb持久化
redis的数据都放在内存当中,如果服务器退出。数据就不见了,为了解决这种问题提供了rdb和aofrdb是一个被压缩过都二进制文件,在服务器启动都时候,通过redis.conf里都配置自动加载启动。生成rdb文件的命令有save和bgsave. save命令会直接阻塞服务器进程,直到rdb生成完成为止,期间任何请求都会被拒绝。相比较bgsave则是生出另外一个子进程,在后台负责rdb生成,不会影响任何请求。save、bgsave、bgrewriteaof三个命令不能同时使用。避免大量的磁盘.原创 2020-05-16 12:54:38 · 124 阅读 · 0 评论 -
Redis之数据库
redis的数据库的num是通过配置来设置的。其实是在内存中开辟来num个长度的内存地址,所谓的切换,select 0 到select 1,其实就是把地址指针从0指到了1.我们在存如set key value 的时候,会把key 存到一个专用的键字典中,value存到了另外一个字典里。设置过期时间可以使用秒expire或者毫秒pexire 不管那种最后都是毫秒存入。过期时间也会存到字典中。过期判定:先检查给定键是否存在于过期字典,如果在取键的过期时间,再去检查当前unix时间戳是否大原创 2020-05-13 21:36:29 · 220 阅读 · 0 评论 -
Redis之字典
Redis的字典使用哈希表做为底层实现,一个哈希表中有多个哈希节点。而每个哈希表节点保存了字典中的一个键值对。字典结构:typedef struct dict{ dictType *type; void *privdata; dictht ht[2]; //typedef struct dict{ dictType *type; void *privdata; dictht ht[2]; //哈希表 int rehashidx //扩容的时候原创 2020-05-12 20:39:19 · 506 阅读 · 0 评论 -
Redis过期数据清理策略-来自云栖
Redis作为一个高性能的内存NoSQL数据库,其容量受到最大内存限制的限制。用户在使用阿里云Redis时,除了对性能,稳定性有很高的要求外,对内存占用也比较敏感。在使用过程中,有些用户会觉得自己的线上实例内存占用比自己预想的要大。事实上,实例中的内存除了保存原始的键值对所需的开销外,还有一些运行时产生的额外内存,包括:垃圾数据和过期Key所占空间 字典渐进式Rehash导致未及...转载 2019-10-15 17:34:14 · 1112 阅读 · 0 评论 -
Redis篇-redis配置详解
该文章转自于:https://blog.csdn.net/u010648555/article/details/73423560在我需要的清楚redis配置的时候,翻阅到作者的文章。非常感谢。redis默认配置解读1: Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no2: 当Redis以守护进程方式运行时,Red...转载 2019-06-11 09:22:25 · 1803 阅读 · 0 评论 -
redis常见问题
redis持久化总结:1、持久化方式: RDB 持久化指定时间内生成快照 AOF 持久化以 Redis 协议记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集 可同时开启AOF和RDB 可同时关闭2、rdb 优点:文件内容紧凑,适合灾难恢复,比Aof恢复要快 缺点:每次保存rdb都要fork一个子进程,间隔时间内的...转载 2019-05-21 20:38:53 · 98 阅读 · 0 评论