
Redis
文章平均质量分 78
如果时光可以倒流,我会选择在家陪伴家人
这个作者很懒,什么都没留下…
展开
-
Redis集群知识点集合
目录1.主从复制过程2.设置从服务器的方式3.多个从服务器连接时4.主从链5.slaveof命令6.主从复制与网络延迟6.1.注意8.主从模式缺点9.Sentinel哨兵11.Sentinel哨兵模式缺点12.Redis分布式方案13.Redis Cluster1.主从复制过程从服务器在连接一个主服务器的时候,主服务器会创建一个RDB快照文件,并将该文件发送至从服务器,这是主从复制的第一步,下面列出主从复制的全部流程: 步骤原创 2021-04-06 21:38:08 · 460 阅读 · 0 评论 -
Redis变慢原因
目录转载第一步:确定Redis是否真的变慢了第二步:查看slowlog慢日志原因1:使用复杂度过高的命令原因2:操作bigkey原因3:集中过期原因4:实例内存达到上限原因5:fork耗时严重原因6:开启内存大页原因7:开启AOF原因8:绑定CPU原因9:使用Swap原因10:碎片整理原因11:网络带宽过载转载Redis为什么变慢了?一文讲透如何排查Redis性能问题 | 万字长文第一步:确定Redis是否真的变慢了响应变慢,需要.转载 2021-02-22 10:06:46 · 1615 阅读 · 0 评论 -
Redis-7-集群练习
目录1.前言2.扩容集群3.收缩集群4.客户端路由5.ASK与MOVED区别5.对应的指令详解5.1 cluster meet5.2 cluster setslot5.2.1 MIGRATING子命令5.2.2 IMPORTING子命令5.2.3 STABLE5.3.4 NODE5.3 cluster getkeysinslot5.4 migrate5.5 cluster forget6.参考资料1.前言通过上一章节,我们知道了Redi原创 2021-02-07 10:29:37 · 363 阅读 · 0 评论 -
Redis-6-集群
目录1. 主从同步1.1 定义1.2 CAP原理1.3 Redis的最终一致1.4 主从同步与从从同步1.5 增量同步1.6 快照同步1.7 增加从节点1.8 无盘复制1.9 wait指令2. Redis Sentinel2.1 定义2.2 消息丢失3. Cluster3.1 由来3.2 特点3.3 槽位定位算法3.4 跳转3.5 迁移3.6 容错3.7 网络抖动3.8 可能下线与确定下线3.9 槽位迁移感知3.原创 2021-02-04 17:13:56 · 598 阅读 · 0 评论 -
Redis-4-Redis与客户端交互过程
目录1. 管道2. 过程1. 管道当客户端对Redis进行一次操作时,客户端将请求传送给服务器,服务器处理完毕后,再将晌应回复给客户端,这要花费一个网络数据包来回的时间;如果客户端执行写-读、写-读时,此时一共有4个Redis指令,需要经过2个来回的时间,但我们调整为:写-写-读-读,此刻,只需要1个回来就能完成这个工作,这便是管道操作的本质;对于服务器而言,根本没有任何区别对待,还是走着收到一条消息、执行一条消息、回复一条消息的正常流程,只是客户端通过对管道中的指令列表改变读写顺序原创 2021-02-02 17:25:04 · 248 阅读 · 0 评论 -
scan与keys
如何从大量的key中年找到自己想要的特定key列表呢?常用的keys指令有几个缺点:缺点1:没有offset、limit参数,因此会一次性吐出所有满足条件的key。缺点2:keys算法是遍历算法,复杂度是O(n),该指令就会导致Redis服务卡顿。为了解决该问题Redis2.8时新加入了scan指令。scan指令有如下特征:①:复杂度虽然也是O(n),但通过游标分步进行的,不会阻塞...原创 2019-12-31 14:37:07 · 927 阅读 · 0 评论 -
布隆过滤器
这玩意用来干嘛呢?我说个场景:我给你推送新闻,理论上来讲每条新闻只能推送一次,那么该如何确保每条新闻只对你推送一次呢?布隆过滤器就是用来解决此类问题的,虽然稍微有那么点不精确,但人家在空间上能节省90%以上。Redis4.0之后才提供该功能。其特点就是:当布隆过滤器说某个值存在时,这个值可能不存在;当它说不存在时,那就肯定不存在。常用指令:bf.add:添加元素,只能一次添加一个元...原创 2019-12-31 10:01:52 · 240 阅读 · 0 评论 -
Redis-5-事务
鉴于Redis是纯内存数据库,为了尽可能的节省内存开销避免因为内存不足而崩溃,Redis对一部分数据结构进行了优化。编译如果使用32位进行编译,内部所有数据结构所使用的指针空间占用会少一半,如果使用内存不超过4G,可以考虑使用32位进行编译,如果不足还可以通过增加实例的方式来解决。压缩这里有个ziplist技术,可以说道说道。当集合数据结构很小的话,那么它会使用紧凑存储形式压缩存储...原创 2020-01-03 15:25:56 · 157 阅读 · 0 评论 -
Redis-3-为什么是单线程,高并发快
Redis是如何基于单线程来应对多线程并发访问呢?从存储角度Redis所有数据都在内存中,所有运算也是在内存运算,速度相对来说比较快,虽然对那些时间复杂度为O(n)级别的指令会导致Redis卡顿,但对于其他指令来说,还行。从网络角度非阻塞IO + 事件轮询(多路复用)技术第一:这里Redis用到了非阻塞IO,所谓的非阻塞IO,说白了就是当应用服务器与Redis服务器建立起连接之...原创 2019-12-31 15:56:13 · 237 阅读 · 0 评论 -
Redis-0-简介
Redis主要是针对Linux开发与维护,且大部分公司服务器都在使用Linux操作系统,而Redis在Linux操作系统上的表现已经得到了实践的验证。对于使用Windows操作系统的读者,可以通过安装虚拟机来体验Redis的诸多特性。Redis安装完毕之后其启动方式有3种:①默认配置启动:redis-server②运行配置启动:redis-server加上要修改配置名和值(可以是多对)...原创 2020-02-01 14:34:02 · 414 阅读 · 0 评论 -
Redis-2-持久化
RDBRDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。手动触发分别对应save和bgsave命令:save命令:阻塞当前Redis服务器,直到RDB过程完成为止,对于内存比较大的实例会造成长时间阻塞;bgsave命令:Redis进程执行fork操作创建子进程,RDB持久化过程由子进程负责,完成后自动结束。阻塞只发生在fork阶段,一...原创 2019-06-11 19:04:40 · 178 阅读 · 0 评论 -
Redis-1-数据类型
字符串Redis中键都是字符串类型。字符串类型的值实际可以是简单字符串、复杂字符串(XML、JSON等)、整数、浮点数、二进制(图片、视频、音频,但不能超过512MB)。命令设置值命令:set key value [ex seconds] [px milliseconds] [nx|xx]注意事项:返回结果为OK即代表设置成功,返回0则代表设置失败;选项:ex second...原创 2019-05-13 19:39:10 · 394 阅读 · 0 评论