摘要:
现象 发现生产环境上的一台服务器出现内存使用率达到阈值的告警 登上服务器使用 top 命令发现,这台服务器上的 redis实例消耗了大量的内存,而且cpu使用率很高,应该是有应用往 redis 上进行大量的读写操作 定位问题 我们首先看一下任意key的过期时间是多少 # 从当前数据库中随机返回一个 阅读全文
现象 发现生产环境上的一台服务器出现内存使用率达到阈值的告警 登上服务器使用 top 命令发现,这台服务器上的 redis实例消耗了大量的内存,而且cpu使用率很高,应该是有应用往 redis 上进行大量的读写操作 定位问题 我们首先看一下任意key的过期时间是多少 # 从当前数据库中随机返回一个 阅读全文
posted @ 2025-08-27 21:31
阿峰博客站
阅读(27)
评论(0)
推荐(0)
摘要:
问题背景介绍 Redis 作为高性能的内存数据库被广泛应用于缓存、会话存储、消息队列等场景。然而,在生产环境中,我们经常会遇到 Redis 容器 CPU 使用率突然飙高的情况,这不仅会影响 Redis 自身的性能,还可能对同一节点上的其他应用造成资源争抵,甚至导致整个系统的不稳定。 近期,我们的生产 阅读全文
问题背景介绍 Redis 作为高性能的内存数据库被广泛应用于缓存、会话存储、消息队列等场景。然而,在生产环境中,我们经常会遇到 Redis 容器 CPU 使用率突然飙高的情况,这不仅会影响 Redis 自身的性能,还可能对同一节点上的其他应用造成资源争抵,甚至导致整个系统的不稳定。 近期,我们的生产 阅读全文
posted @ 2025-08-27 21:22
阿峰博客站
阅读(86)
评论(0)
推荐(0)
摘要:
背景介绍 redis-benchmark 是 Redis 自带的一款性能测试工具,用于模拟不同的客户端请求场景,帮助开发者评估 Redis 在特定硬件、配置和负载下的性能。无论是新部署的 Redis 实例还是优化后的环境,redis-benchmark 都可以提供基准测试数据,以衡量性能的变化。 r 阅读全文
背景介绍 redis-benchmark 是 Redis 自带的一款性能测试工具,用于模拟不同的客户端请求场景,帮助开发者评估 Redis 在特定硬件、配置和负载下的性能。无论是新部署的 Redis 实例还是优化后的环境,redis-benchmark 都可以提供基准测试数据,以衡量性能的变化。 r 阅读全文
posted @ 2025-08-27 19:30
阿峰博客站
阅读(16)
评论(0)
推荐(0)
摘要:
给key设置一个过期时间,一旦超过过期时间,这个key就会被被删除,内存将被回收 相关的命令 查看key的过期时间 # 如果key存在过期时间,返回剩余生存时间(秒);如果key是永久的,返回-1;如果key不存在或者已过期,返回-2 # TTL单位是秒,PTTL单位是毫秒 127.0.0.1:63 阅读全文
给key设置一个过期时间,一旦超过过期时间,这个key就会被被删除,内存将被回收 相关的命令 查看key的过期时间 # 如果key存在过期时间,返回剩余生存时间(秒);如果key是永久的,返回-1;如果key不存在或者已过期,返回-2 # TTL单位是秒,PTTL单位是毫秒 127.0.0.1:63 阅读全文
posted @ 2025-08-27 19:21
阿峰博客站
阅读(18)
评论(0)
推荐(0)
摘要:
Redis内存消耗 Redis进程的内存消耗主要包括:自身内存 + 对象内存 + 缓冲内存 + 内存碎片 自身内存 一般来讲,Redis空进程自身内存消耗非常少,通常 used_memory_rss 在 3MB 左右时,used_memory 一般在 800KB 左右 一个空的 Redis 进程消耗 阅读全文
Redis内存消耗 Redis进程的内存消耗主要包括:自身内存 + 对象内存 + 缓冲内存 + 内存碎片 自身内存 一般来讲,Redis空进程自身内存消耗非常少,通常 used_memory_rss 在 3MB 左右时,used_memory 一般在 800KB 左右 一个空的 Redis 进程消耗 阅读全文
posted @ 2025-08-27 18:43
阿峰博客站
阅读(14)
评论(0)
推荐(0)
摘要:
缓存穿透 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为 id 为 “-1” 的数据或 id 为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。 Redis 缓存穿透解决方案: 接口层增加校验,如用户鉴权校验,id 做基础校验,id<=0 的直接拦截。 阅读全文
缓存穿透 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为 id 为 “-1” 的数据或 id 为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。 Redis 缓存穿透解决方案: 接口层增加校验,如用户鉴权校验,id 做基础校验,id<=0 的直接拦截。 阅读全文
posted @ 2025-08-27 17:15
阿峰博客站
阅读(17)
评论(0)
推荐(0)
摘要:
Redis 的 pipeline (管道) 功能在命令行中没有,但 redis 是支持 pipeline 的,而且在各个语言版的 client 中都有相应的实现 将一批命令,批量打包,在 redis 服务端批量计算 (执行),然后把结果批量返回 1 次 pipeline (n 条命令)=1 次网络时 阅读全文
Redis 的 pipeline (管道) 功能在命令行中没有,但 redis 是支持 pipeline 的,而且在各个语言版的 client 中都有相应的实现 将一批命令,批量打包,在 redis 服务端批量计算 (执行),然后把结果批量返回 1 次 pipeline (n 条命令)=1 次网络时 阅读全文
posted @ 2025-08-27 17:12
阿峰博客站
阅读(10)
评论(0)
推荐(0)

浙公网安备 33010602011771号