(https://magebyte.oss-cn-shenzhen.aliyuncs.com/redis/20220522212610.png)1. 写数据到数据库;2. 将缓存中的数据失效或者更新缓存数据;使用 `cache-aside` 时,最常见的写入策略是直接将数据写入数据库,但是缓存可能会与数据库不一致。我们应该给缓存设置一个过期时间,这个是保证最终一致性的解决方案。如果过期时间太短,应用程序会不断地从数据库中查询数据。同样,如果过期时间过长,并且更新时没有使缓存失效,缓存的数...
通过 `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 集群时,客户端收到错误:“当所用内存大于 'maxmemory' 时不允许 OOM 命令”。此错误消息意味着什么,我该如何排查并修复此错误。# 问题分析缓存数据库 Redis 集群无法释放任何额外内存时,会发生 OOM 错误。内存不足时,缓存数据库 Redis 会实施数据节点的参数配置的策略 **maxmemory-policy**。默认值 **(volatile-lru)** 会移出设置了过期时间的键(TTL 值),从而释放内存。缓存节点没有包含 ...
在移动应用的业务场景中,我们需要保存这样的信息:一个 key 关联了一个数据集合。常见的场景如下:- 给一个 userId ,判断用户登陆状态;- 显示用户某个月的签到次数和首次签到时间;- 两亿用户最近 7 天的签到情... 文章涉及到的指令可以通过在线 Redis 客户端运行调试,地址:https://try.redis.io/,超方便的说。## 寄语> 多分享多付出,前期多给别人创造价值并且不计回报,从长远来看,这些付出都会成倍的回报你。>> 特别是刚...
# 问题描述在查询缓存数据库 Redis 集群时,客户端收到错误:“当所用内存大于 'maxmemory' 时不允许 OOM 命令”。此错误消息意味着什么,我该如何排查并修复此错误。# 问题分析缓存数据库 Redis 集群无法释放任何额外内存时,会发生 OOM 错误。内存不足时,缓存数据库 Redis 会实施数据节点的参数配置的策略 **maxmemory-policy**。默认值 **(volatile-lru)** 会移出设置了过期时间的键(TTL 值),从而释放内存。缓存节点没有包含 ...
Redis 调用一个内部函数来执行多种后台任务,例如: 计算 LRU 信息并清除过期 Key。 关闭超时的客户端连接。 整理 hash 类型的数据。 执行 RDB 或 AOF 持久化相关操作。 更新统计信息。 回收内存碎片。 这些定期任务是 Redis 服务正常运行的保障,它们的执行频率由 hz 参数的值指定,默认为 10,即每秒执行 10 次。 典型应用场景Redis 会通过执行定期任务来主动清除过期 Key,执行过程如下: 从设置了过期时间的 Key 的集合中随机检查 2...
EngineVersion String 5.0 Redis 版本。 ExpiredTime String 2021-02-28T00:00:00Z 实例到期时间(UTC 时间)。 说明 仅当计费类型为 PrePaid 时返回该参数。 InstanceId String redis-cn0212gzmh2xs**** 实例... MultiAZ String disabled 设置实例的可用区部署方案。取值范围如下: enabled:多可用区部署方案。 disabled:单可用区部署方案。 关于可用区部署方案的更多说明,请参见多可用区同城容灾解决方案。 请求示例jso...
Redis 在内存空间不足的时候,为了保证命中率,就会选择一定的数据淘汰策略,可选的过期策略说明如下: volatile-lru(默认值):只从设置失效(expire set)的键中选择最近最少使用的键进行删除。 volatile-lfu:只从设置失效(expire set)的键中选择最不常用的键进行删除。 volatile-random:只从设置失效(expire set)的键中,随机选择一些键进行删除。 volatile-ttl:只从设置失效(expire set)的键中,选出存活时间 TTL(Time To Live)最短的键...
本场景介绍如何在数据库传输服务 DTS 控制台创建火山引擎版 Redis 同步至火山引擎版 Redis 任务。 前提条件已注册火山引擎账号并完成实名认证。关于账号的创建方法和实名认证,请参见如何进行账号注册和实名认证。 已创建缓存数据库 Redis 版数据库和设置默认账号 default 的密码。详细操作,请参见创建实例和设置默认账号密码。 当源库、目标库部署在火山引擎的 ECS 中通过私网连接,且开启了访问限制时,您需要在 ECS 的安全组规...
暂不支持自定义未出现在表中的参数。 参数 说明 主备实例 单节点实例 Redis 6.0 Redis 5.0 Redis 4.0 Redis 6.0 Redis 5.0 Redis 4.0 active-defrag-cycle-max 设置触发内存碎片整理时,CPU 占用比例的最大值。单... 当输出缓冲区内存占用量在 client-output-buffer-pubsub-soft-seconds 参数指定的时间内,持续超过软限制设置的值时,客户端将断开连接。单位:MB,取值范围:1~64。 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ client-out...
2024-04-11 全部 修改备份名称 可维护时间段可选时间范围扩大 缓存数据库 Redis 版将可维护时间段的开始和结束时间间隔由原来的 1 小时扩大到了 2 ~ 24 小时,以确保任务可在可维护时间段内正常进行。 2024-04-11 全部 设置可维护时间段 支持通过 API 查询实例连接地址对应的 IP 地址 您可以调用 DescribeDBInstanceDetail 接口查询指定 Redis 实例不同连接地址所对应的 IP 地址信息,即返回结果的 VisitAddrs 结构体中 VIP 信息。...
单节点实例不支持备份恢复功能。关于两种类型实例的功能特性差异详情,请参见功能特性差异。 背景信息与自动备份一样,缓存数据库 Redis 版默认使用 RDB 快照存储实现持久化,会根据指定时刻的内存数据创建并生成 RDB 快照文件,备份期间不会影响数据访问的性能。更多详情,请参见功能介绍。 注意事项缓存数据库 Redis 版的所有备份创建成功后,备份保留期固定为 7 天,不可修改。 备份到期后会被自动删除,无法找回。建议在备份保留期结...
本文介绍当迁移或同步的目标库类型为 Redis(如火山引擎缓存数据库 Redis 版或自建 Redis)时,支持的数据库以及使用限制详情。 支持的数据库源库 目标库 支持的版本 迁移类型 同步类型 火山引擎版 Redis 公网自建 R... 甚至导致数据库服务不可用。建议在业务低峰期执行数据迁移或同步,您也可以调大源库的client-output-buffer-limit 的参数值。 当源库中的某些 Key 使用了过期(expire)策略时,可能存在 Key 已过期但未被及时删除的情...