[Redis 突然变慢了如何做性能排查并解决?](https://mp.weixin.qq.com/s/4QtJgneaqUHEzvvsW9u3wg)- Redis 与 MySQL 数据一致性问题怎么应对?今天「码哥」跟大家一起深入探索**缓存的工作机制和缓存一致性应对方案**。在本文正式开始之前,我觉得我们需要先取得以下两点的共识: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...
可以使用 Redis 集群模式。Redis 集群模式的原理是把保存在其中的数据做了分片,每一部分数据由不同的 Redis 实例承担。Redis 的典型应用场景有以下 3 种:- **缓存**:因为 Redis 是基于内存的存储,它的读写请求会在内存执行,请求响应的延迟很低,所以很多场景下会把 Redis 当做缓存使用。- **数据库**:Redis 支持持久化,可以把它当做 KV 数据库使用。- **消息队列**:Redis 支持 stream 数据,在 stream 数据结构基础上封...
本文档介绍如何在火山引擎缓存数据库 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 版支持通过 Lua 脚本来处理 CAS(compare-and-swap)命令,满足 Redis 原子性操作需求,提升 Redis 性能。本文介绍通过 Redis 使用 Lua 脚本的基本语法与使用限制和建议。 Lua 脚本命令下表列举了缓存数据库 Redis 版支持的 Lua 脚本命令和功能简介。 命令 功能说明 EVAL 执行给定的脚本和参数,并返回结果。 EVALSHA 当通过 EVAL 命令执行较长的 Lua 脚本时,会占用较多带宽。为避免上述问题,您可以使用 EVALSHA 命令...
缓存数据库 Redis 版支持自定义角色权限,您可以根据业务需要,创建新的角色并赋予不同的权限,实现数据库的精细化管理,提升数据安全性。本文介绍如何创建角色。 ACL 语法缓存数据库 Redis 版将所有支持的命令根据一定的规则进行了分组,每个分组即为一个命令类(Command Category),您可以使用 ACL(Access Control Lists)语法为角色授予指定命令或命令类的调用权限。 说明 缓存数据库 Redis 版支持的命令类以及每种命令类下包含的具体...
缓存数据库 Redis 版会不定期发布代理(Proxy)节点和数据(Server)节点的小版本,来丰富产品功能或修复已知缺陷,提升使用体验。本文汇总了 Proxy 和 Server 小版本的更新说明供您参考。 背景信息代理节点代理节点(Proxy Node)是缓存数据库 Redis 版实例的代理服务器节点,用于实现 Redis 实例内部的高可用。同时 Proxy 节点还能识别和转发用户的读写请求,可以根据参数设置将请求发送到主节点或只读从节点,从而实现读写分离。更多关于...
从节点只作备份用。关于读写分离的更多信息,请参见设置读写分离。 说明 仅主备类型的 Redis 实例支持读写分离功能。单节点实例仅包含一个主节点,不支持读写分离功能所有读写请求必须发送至主节点。 缓存数据库 Redis 版采用的数据持久化策略是什么?主备类型的 Redis 实例默认开启 AOF 数据持久化策略。单节点实例不支持数据持久化。关于两种类型实例的功能特性差异详情,请参见功能特性差异。 主从切换时会有什么影响?主从切换时...
# 问题描述客户反馈使用缓存数据库 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...
在某些情况下,由于源 Redis 数据库未开放 sync 或 psync 复制权限,因此导致无法通过火山引擎数据库传输服务 DTS 迁移数据。此时,您可以通过 redis-shake 工具使用 RDB 文件,将源 Redis 数据库的全量数据离线迁移至目标 Redis 数据库中。 使用 RDB 文件迁移数据时,可以在不依赖 sync 和 psync 权限的情况下,将自建 Redis 或第三方云 Redis 数据库的数据迁移至火山引擎缓存数据库 Redis 版。关于 redis-shake 的更多信息,请参见 re...
本文介绍如何使用数据库传输服务 DTS 将阿里云的云数据库 Redis 版数据库迁移至火山引擎的缓存数据库 Redis 版。 注意事项DTS 在执行全量数据迁移时将占用源端和目标端一定的资源,可能会导致数据库服务器负载上升。如果数据库业务量较大或服务器规格较低,可能会加重数据库的压力,甚至导致数据库服务不可用。建议在执行数据迁移前评估业务压力,在业务低峰期执行数据迁移。 对于迁移失败的任务,DTS 会根据错误重试时间内自动恢复。...