合集-Redis

摘要:李代桃僵--Sentinel 目前我们还只是讲 Redis 的主从最终一致性。大家可曾思考过,如果主节点凌晨3 点突发宕机怎么办?只能坐等运维人员从床上爬起来,然后手工进行主从切换,再通知所有的程序把地址统统改一遍重新上线吗?毫无疑问,这样的人工运维效率太低,事故发生后估计至少要花费1个小时才能缓过 阅读全文
posted @ 2024-07-20 21:15 Duancf 阅读(9) 评论(0) 推荐(0) 编辑
摘要:redis中的大key和unlink操作 Redis中的BigKey通常指的是那些包含大量元素的复合数据类型,如一个列表包含数百万个元素,或一个字符串的大小超过512MB。这些BigKey会在执行操作时消耗大量的CPU和内存资源,影响Redis的响应时间。 BigKey的产生原因 不合理的数据设计 阅读全文
posted @ 2024-08-06 20:30 Duancf 阅读(65) 评论(0) 推荐(0) 编辑
摘要:Redis 的持久化方式有两种:AOF 日志和 RDB 快照。所以接下来,针对这两种持久化方式具体分析分析。 大 Key 对 AOF 日志的影响 先说说 AOF 日志三种写回磁盘的策略 Redis 提供了 3 种 AOF 日志写回硬盘的策略,分别是: Always,这个单词的意思是「总是」,所以它的 阅读全文
posted @ 2024-07-22 19:48 Duancf 阅读(22) 评论(0) 推荐(0) 编辑
摘要:事务 为了确保连续多个操作的原子性,一个成熟的数据库通常都会有事务支持,Redis也不例外。 Redis的事务使用方法非常简单 不同于关系数据库我们无须理解那么多复杂的事务模型就可以直接使用。不过也正是因为这种简单性它的事务模型很不严格这要求我们不能像使用关系数据库的事务一样来使用 Redis 事务 阅读全文
posted @ 2024-07-28 18:55 Duancf 阅读(94) 评论(0) 推荐(0) 编辑
摘要:缓存穿透 用户访问一些不存在的数据,redis没有,于是去mysql查询也没有,这样就发生了两次无效的查询。 缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,缓存永远不会生效。这样,每次针对此 key 的请求从缓存获取不到,请求都会压到数据源,从而可能压垮数据源。比如用一个不存在的用户 id 阅读全文
posted @ 2024-08-17 22:59 Duancf 阅读(5) 评论(0) 推荐(0) 编辑
摘要:这次聊聊,Redis 的哨兵机制。 为什么要有哨兵机制? 在 Redis 的主从架构中,由于主从模式是读写分离的,如果主节点(master)挂了,那么将没有主节点来服务客户端的写操作请求,也没有主节点给从节点(slave)进行数据同步了。 这时如果要恢复服务的话,需要人工介入,选择一个「从节点」切换 阅读全文
posted @ 2024-07-30 19:31 Duancf 阅读(53) 评论(0) 推荐(0) 编辑
摘要:有备无患--主从同步 很多企业都没有使用 Redis 的集群,但是至少都做了主从。有了主从,当主节点(Master)挂掉的时候,运维让从节点(Slave)过来接管,服务就可以继续,否则主节点需要经过数据恢复和重启的过程,这就可能会拖延很长的时间,从而影响线上业务的持续服务。在了解 Redis 的主从 阅读全文
posted @ 2024-08-06 14:42 Duancf 阅读(34) 评论(0) 推荐(0) 编辑
摘要:延迟消息队列 redis数据结构,用什么结构实现延迟消息队列 延迟消息队列是一种消息队列系统,它允许消息的发布者在消息发送时指定消息的投递时间,使消息在未来的某个预定时间点被消费者接收。这种机制对于需要在稍后执行的任务或具有特定延迟需求的应用非常有用。 对于实现延迟消息队列,可以使用有序集合(Sor 阅读全文
posted @ 2024-08-17 22:59 Duancf 阅读(46) 评论(0) 推荐(0) 编辑
摘要:Redis如何实现消息队列 1、使用List List最为简单和直接,主要通过lpush、rpop存储和读取消息队列的(先进先出) ruby 代码解读复制代码127.0.0.1:6379> lpush mq "firstMsg" #推送消息 firstMsg (integer) 1 127.0.0. 阅读全文
posted @ 2024-08-23 21:59 Duancf 阅读(20) 评论(0) 推荐(0) 编辑
摘要:概述 Redis到底是多线程还是单线程程序要看是针对哪个功能而言,对于核心业务功能部分(命令操作处理数据),Redis是单线程的,主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的,这也是 Redis 对外提供键值存储服务的主要流程,所以一般我们认为Redis是个单线程程序。但是从 阅读全文
posted @ 2024-09-07 21:53 Duancf 阅读(425) 评论(0) 推荐(0) 编辑
摘要:redis事务的ACID性质讨论 A原子性 单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的 如果一个事务队列中的所有命令都被成功地执行,那么称这个事务执行成功 另一方面,如果 Redis 服务器进程在执行事务的 阅读全文
posted @ 2024-09-07 22:59 Duancf 阅读(20) 评论(0) 推荐(0) 编辑
摘要:waitTime 等待时间。客户端尝试获取锁时最大等待时间,超过这个等待时间必然返回获取锁失败。 leaseTime 锁的租期。客户端可持有锁的时间,超过这个时间锁自动过期。 基本流程 竞争锁的客户端执行Lua脚本获取锁,如果获取失败,则订阅解锁消息,并挂起线程。 持有锁的客户端执行Lua脚本解锁, 阅读全文
posted @ 2024-09-26 13:48 Duancf 阅读(18) 评论(0) 推荐(0) 编辑

more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示