通过 `CONFIG SET maxmemory 100mb `或者在 `redis.conf` 配置文件设置 `maxmemory 100mb` Redis 内存占用限制。当达到内存最大值值,会触发[内存淘汰策略](https://mp.weixin.qq.com/s/H7BN-gCvbJ2S2DT31XMzzQ)删除数据。除此之外,当 key 达到过期时间,Redis 会有以下两种删除过期数据的策略:- 后台定时任务选取部分数据删除;- 惰性删除。具体原理请移步[《Redis 的过期数据删除那些事》](https://mp.weixin.qq.com/s?__b...
缓存数据库 Redis 集群无法释放任何额外内存时,会发生 OOM 错误。内存不足时,缓存数据库 Redis 会实施数据节点的参数配置的策略 **maxmemory-policy**。默认值 **(volatile-lru)** 会移出设置了过期时间的键(TTL 值),从而释放内存。缓存节点没有包含 TTL 值的任何键时,则会返回错误。# 解决方案要解决此错误并防止客户端收到“不允许 OOM 命令”错误消息,可执行以下一些组合操作:这些解决方法的实际组合取决于您的具体使用案...
# 问题描述使用 info memory 命令查看 redis 内存相关使用情况,发现内存碎片较多,我们该如何排查此类问题?# 问题分析内存碎片的产生通常有如下两个原因:1. 操作系统的内存分配机制:内存分配器通常按照固定大小来分配内存,而不是按照程序实际申请的空间来分配,做不到按需分配2. 用户的业务特征:Redis 作为 KV 类型的缓存数据库,对于增删改查的操作,如果键值对大小不一致,可能会产生较大的内存碎片。同时,键值对的删除修改也...
## Redis 简介Redis 是大家日常工作中使用较多的典型 KV 存储,常年位居 DB-Engines Key-Value 存储第一。Redis 是基于内存的存储,提供了丰富的数据结构,支持字符串类型、哈希/列表/集合类型以及 stream 结构。Redis 内置了很多特性,其中比较重要的有:- **复制**:Redis 支持异步的全量和增量同步,可以把数据从 Master 复制到 Slave, 实现 Redis 数据的高可用。- **持久化**:支持数据的持久化,可以通过 RDB 和 AOF 机制实...
Redis 服务正常运行的保障,它们的执行频率由 hz 参数的值指定,默认为 10,即每秒执行 10 次。 典型应用场景Redis 会通过执行定期任务来主动清除过期 Key,执行过程如下: 从设置了过期时间的 Key 的集合中随机检查 20 个 Key。 删除检查中发现的所有过期 Key。 如果检查结果中 25% 以上的 Key 已过期,则开始新一轮任务。 如果过期 Key 数量很多或者增加速度很快,而 Redis 的主动清除频率较低,过期 Key 将占用大量的内存空间,可能会影...
缓存数据库 Redis 版支持性能分析功能,能够帮助及时发现并分析数据库中的热 Key 和大 Key 详情,为您优化热 Key 和大 Key 提供数据参考。 判断标准大 Key大 Key 通常含有较大数据量或大量元素(如成员、列表数等)。缓存数据库 Redis 版的大 Key 判断标准如下: 对于 String 类型的数据,若内存占用量大于 10KiB,则被认为是大 Key。 对于非 String 类型的数据,若元素个数超过 5000 个,则被认为是大 Key。 热 Key热 Key 的被访问次数通...
目前缓存数据库 Redis 版仅开放了部分参数,下表中仅列出了支持自定义的参数。暂不支持自定义未出现在表中的参数。 参数 说明 主备实例 单节点实例 Redis 6.0 Redis 5.0 Redis 4.0 Redis 6.0 Redis 5.0 Redis 4.0 active-defrag-cycle-max 设置触发内存碎片整理时,CPU 占用比例的最大值。单位:%,取值范围:1~40。 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ active-defrag-cycle-min 设置触发内存碎片整理时,CPU 占用比例的最小值。...
# 问题描述使用 info memory 命令查看 redis 内存相关使用情况,发现内存碎片较多,我们该如何排查此类问题?# 问题分析内存碎片的产生通常有如下两个原因:1. 操作系统的内存分配机制:内存分配器通常按照固定大小来分配内存,而不是按照程序实际申请的空间来分配,做不到按需分配2. 用户的业务特征:Redis 作为 KV 类型的缓存数据库,对于增删改查的操作,如果键值对大小不一致,可能会产生较大的内存碎片。同时,键值对的删除修改也...
## Redis 简介Redis 是大家日常工作中使用较多的典型 KV 存储,常年位居 DB-Engines Key-Value 存储第一。Redis 是基于内存的存储,提供了丰富的数据结构,支持字符串类型、哈希/列表/集合类型以及 stream 结构。Redis 内置了很多特性,其中比较重要的有:- **复制**:Redis 支持异步的全量和增量同步,可以把数据从 Master 复制到 Slave, 实现 Redis 数据的高可用。- **持久化**:支持数据的持久化,可以通过 RDB 和 AOF 机制实...
本文汇总了缓存数据库 Redis 版使用过程中的常见问题。 实例管理为何实例显示“关停中”? 实例显示“已关停”后要如何操作? 可以变更 Redis 实例的数据库版本吗? 为什么刚刚创建成功的实例,还未插入任何数据就显示已有部分内存空间被占用了? 为什么无法删除 Redis 实例? 为什么在 Redis 控制台上看不见我刚创建成功的实例? 为什么监控指标中,实例的读 QPS 与写 QPS 之和不等于总 QPS? 实例创建好后,怎么已经有账号了? 为什么不同...
缓存数据库 Redis 版提供了数据备份与恢复功能,用于数据误更新或删除之后的快速恢复,保障数据安全可靠。 使用限制仅主备类型的 Redis 实例支持备份恢复功能,单节点类型的 Redis 实例不支持数据备份恢复相关功能。关于两种类型实例的功能特性差异详情,请参见功能特性差异。 计费说明数据备份计费缓存数据库 Redis 版生成的所有备份均保存在火山引擎对象存储 TOS 服务,不会占用 Redis 实例的存储空间,暂不收费。正式收费会提前通知...
本文整理自火山引擎开发者社区首次 Meetup 中的分享《Redis 云原生实践》,主要介绍了将 Redis 部署到 K8s 的抽象流程,以及火山引擎在 Redis 云原生方向的探索和实践。 作者|解宁,火山引擎研发工程师 Redis 简介 Redis 是大家日常工作中使用较多的典型 KV 存储,常年位居 DB-Engines Key-Value 存储第一。Redis 是基于内存的存储,提供了丰富的数据结构,支持字符串类型、哈希/...
本文介绍当迁移或同步的目标库类型为 Redis(如火山引擎缓存数据库 Redis 版或自建 Redis)时,支持的数据库以及使用限制详情。 支持的数据库源库 目标库 支持的版本 迁移类型 同步类型 火山引擎版 Redis 公网自建 Redis 火山引擎版 Redis Redis 4.0 Redis 5.0 Redis 6.0 全量迁移 增量迁移 全量初始化 增量同步 说明 当您在创建同步任务时,当前仅支持选择火山引擎版 Redis。 如需迁移阿里云的云原生内存数据库 Tair ...