跟大家一起深入探索**缓存的工作机制和缓存一致性应对方案**。在本文正式开始之前,我觉得我们需要先取得以下两点的共识:1. 缓存必须要有过期时间;2. 保证数据库跟缓存的最终一致性即可,不必追求强一致性。## 1. 什么是数据库与缓存一致性数据一致性指的是:- 缓存中存有数据,缓存的数据值 = 数据库中的值;- 缓存中没有该数据,数据库中的值 = 最新值。反推缓存与数据库不一致:- 缓存的数据值 ≠ 数据库中的值;- ...
# 问题描述客户反馈使用缓存数据库 Redis 程序报错无法找到数据库# 问题分析每个 Redis 实例中可使用的DB数受实例类型的影响,其中:* 启用分片集群的Redis实例最多可使用 1 个 DB。* 不启用分片集群的Redis实例最多可使用 16 个 DB。# 解决方案1.查看程序中的数据库配置,数据库配置 index 为 1````undefined#采用哪个数据库spring.redis.database=1````2.使用原生客户端连接,验证问题。```bashredis-cn02co9plm7...
# 问题描述客户反馈使用缓存数据库 Redis 程序报错无法找到数据库 # 问题分析 每个 Redis 实例中可使用的DB数受实例类型的影响,其中:* 启用分片集群的Redis实例最多可使用 1 个 DB。* 不启用分片集群的Redis实例最多可使用 16 个 DB。 # 解决方案1.查看程序中的数据库配置,数据库配置 index 为 1 ```#采用哪个数据库spring.redis.database=1```2.使用原生客户端连接,验证问题。```bashredis-cn02co9plm7v1...
# 问题描述Jedis如何使用非Default用户连接连接缓存数据库Redis# 问题分析缓存数据库Redis提供了账号管理功能,可以创建多个账号,帮助您更加灵活地管理实例,最大限度地避免误操作,提升数据安全性。非Default用户连接需要指定用户名。# 解决方案Maven项目中增加依赖项的方式安装Jedis,在pom.xml中加入相应依赖即可:``` redis.clients jedis 3.7.0 ```Jedis使用非Default用户连接redis的时候需要指定用户名密码格式...
火山引擎缓存数据库 Redis 版是与Redis兼容的全托管缓存和存储服务,以其超高读写性能为企业应用赋能
本文档介绍如何在火山引擎缓存数据库 Redis 版的 Golang 客户端中集成 dns-stale-cache 插件。 前提条件您的 Golang 必须是 1.18 或更高版本。 您的 Redis 客户端使用的 go-redis SDK 必须是 v6 、v7、v8 或 v9 版本。dns-stale-cache 不支持其他版本的 go-redis SDK。 把 dns-stale-cache 插件集成到 SDK 工程不同版本的 go-redis SDK 的集成方式不同。参见以下示例代码。 go-redis SDK v6go import ( "fmt" "time" "...
缓存数据库 Redis 版支持通过数据库传输服务 DTS 和 redis-shake 提供的多种数据迁移方案,来满足不同业务场景下 Redis 数据迁移的需求。 迁移工具介绍缓存数据库 Redis 版支持不同的数据库迁移工具,其中: 数据库传输服务 DTS(优先推荐)火山引擎版数据库传输服务 DTS(Database Transmission Service)提供了集数据迁移和数据同步于一体的数据库数据传输管理服务,支持关系型数据库、非关系型数据库间的数据传输,降低数据库之间数据流...
缓存数据库 Redis 版会不定期发布代理(Proxy)节点和数据(Server)节点的小版本,来丰富产品功能或修复已知缺陷,提升使用体验。本文汇总了 Proxy 和 Server 小版本的更新说明供您参考。 背景信息代理节点代理节点(Proxy Node)是缓存数据库 Redis 版实例的代理服务器节点,用于实现 Redis 实例内部的高可用。同时 Proxy 节点还能识别和转发用户的读写请求,可以根据参数设置将请求发送到主节点或只读从节点,从而实现读写分离。更多关于...
缓存数据库 Redis 版 支持变更实例配置,包括水平扩缩容(即增减实例的分片数)和垂直扩缩容(即升降节点规格)。您可以参考下表帮助判断何时需要变更,以及如何选择合适的变更操作。 说明 具体操作步骤,请参见变更实例配置。 变更操作 支持的实例或架构类型 使用场景 主备实例 单节点实例 启用分片 未启用分片 启用分片 未启用分片 扩容 水平扩容(即增加分片数) ✔️ ❌ ✔️ ❌ 当实例数据节点 CPU 负载较高或总内存不足时,可...
# 问题描述Jedis如何使用非Default用户连接连接缓存数据库Redis# 问题分析缓存数据库Redis提供了账号管理功能,可以创建多个账号,帮助您更加灵活地管理实例,最大限度地避免误操作,提升数据安全性。非Default用户连接需要指定用户名。# 解决方案Maven项目中增加依赖项的方式安装Jedis,在pom.xml中加入相应依赖即可:``` redis.clients jedis 3.7.0 ```Jedis使用非Default用户连接redis的时候需要指定用户名密码格式...
缓存数据库 Redis 版支持单可用区和多可用区两种部署方案。实例创建完成后,您可以在 Redis 控制台上查看实例所属的可用区信息。 前提条件目标实例已设置了多可用区部署方案。设置方法,请参见部署多可用区。 操作步骤您可以使用如下任一方法查看实例所属的可用区信息。 方式一:在实例列表页查看登录 Redis 控制台。 在顶部菜单栏的左上角,选择实例所属的项目和地域。 在实例列表页的可用区列,可查看目标实例所在的可用区信息。根...
# 问题描述Jedis如何使用非Default用户连接连接缓存数据库Redis# 问题分析缓存数据库Redis提供了账号管理功能,可以创建多个账号,帮助您更加灵活地管理实例,最大限度地避免误操作,提升数据安全性。非Default用户连接需要指定用户名。# 解决方案Maven项目中增加依赖项的方式安装Jedis,在pom.xml中加入相应依赖即可:````undefined redis.clients jedis 3.7.0 ````Jedis使用非Default用户连接redis的时候需要指定用户名密码...
在某些情况下,由于源 Redis 数据库未开放 sync 或 psync 复制权限,因此导致无法通过火山引擎数据库传输服务 DTS 迁移数据。此时,您可以通过 redis-shake 工具使用 RDB 文件,将源 Redis 数据库的全量数据离线迁移至目标 Redis 数据库中。 使用 RDB 文件迁移数据时,可以在不依赖 sync 和 psync 权限的情况下,将自建 Redis 或第三方云 Redis 数据库的数据迁移至火山引擎缓存数据库 Redis 版。关于 redis-shake 的更多信息,请参见 re...