检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
读取redis数据报超时错误 问题描述 读取redis数据报超时错误:redis server response timeout(3000ms) occurred after 3 retry attempts。 问题排查 根据报错后的提示,将客户端超时时间改大一些。 确认问题发生
RDB文件,确保业务数据均已同步到RDB文件中。 测试数据可以在导入后删除。 如果有某个数据库没有被业务系统使用,可以将测试数据写入该数据库,待导入DCS后,使用flushdb命令清空该数据库。 单机实例如果不做持久化配置,则RDB文件需要临时生成,导出耗时较主备实例相比稍多一些。
g_Session进行Session共享。DCS的Redis实例对接SpringCloud时,遇到如下错误信息: 图1 Spring Cloud报错信息 原因为出于安全考虑,DCS暂不支持客户端发起的CONFIG命令,需要按如下步骤进行操作: 通过管理控制台修改Redis实例的配
订单处理:后端服务器会将订单信息保存到数据库中,并进行异步处理,例如发送消息通知用户订单状态。 缓存更新:后端服务器会更新缓存中的商品库存信息,以便处理下一次秒杀请求。 秒杀过程中多次访问数据库,下单通常是利用行级锁进行访问限制,抢到锁才能查询数据库和下单。但是秒杀时的大量订单请求,会导致数据库访问阻塞。 解决方案
如何在Redis中查找匹配的Key和遍历所有Key? 查找匹配Key 在大Key和热Key分析中,不支持按照指定格式分析,如果需要查找指定前缀或者后缀格式的Key,您可以使用scan命令,根据指定格式进行匹配查找。 例如,需要查找Redis实例中包含a关键字的Key,可以使用Redis-cli工具,执行以下命令:
什么是预留内存,如何配置预留内存? 预留内存介绍 预留内存是一部分不能用来存储数据的内存空间,主要用于数据持久化,主备同步,执行实例备份等操作。 配置参数名称:reserved-memory-percent 监控中内存利用率统计是扣除预留内存的。 仅如下实例类型需要预留内存(其他实例类型不涉及):
源Redis在数据库编号0和2中有数据,生成的AOF或RDB文件包含了这两个库。 在导入到Proxy集群实例时会忽略“select 2”的命令,然后继续导入源数据库2中的数据到DB0中。 用户需要注意以下: 源Redis中不同数据库包含了相同的key,则导入时,编号靠前的数据库的key
Redis实例是否支持读写分离? Redis实例支持读写分离的情况如下表所示: 实例类型 是否支持读写分离 读写分离实例 支持。 说明: 读写分离功能,推荐使用读写分离实例,无需在客户端做任何配置。 Redis Cluster集群实例 支持从客户端实现读写分离,需要在客户端做配置,参考配置说明。
查询可用区信息 功能介绍 在创建缓存实例时,需要配置实例所在的可用区ID,可通过该接口查询可用区的ID。例如,在华北-北京1区域有可用资源的分区创建缓存实例,可从接口响应消息中,查找resource_availability字段为true的可用区,该记录对应的id即是创建缓存实例时需要配置的可用区ID。
实例数量 各实例配置的数据库数量 各数据库的key数量 业务用到的数据库 各实例数据占用空间 Redis版本 Redis实例类型 业务与各实例的连接关系 连接待迁移Redis后,执行info keyspace命令可以查看数据分布情况,确认有数据的数据库编号以及数据库中的key数量。记
配置Redis SSL数据加密传输 Redis 6.0基础版的单机、主备、Cluster集群实例支持开启SSL链路加密传输,确保数据传输过程的安全性。其他版本的实例暂不支持该功能,Redis的传输协议RESP在Redis 6.0之前的版本仅支持明文传输。 因SSL加密传输的原因,
安全、故障恢复等方面的问题。 DCS基于开源Redis、Memcached向用户提供一定程度定制化的缓存服务,因此,除了拥有开源服务缓存数据库的优秀特性,DCS提供更多实用功能。 与开源Redis差异 表1 DCS与自建开源Redis的差异说明 比较项 开源Redis DCS Redis
Redis实例内存使用率高问题排查和解决 问题现象 Redis可提供高效的数据库服务,当内存不足时,可能导致Key频繁被逐出、响应时间上升、QPS(每秒访问次数)不稳定等问题,进而影响业务运行。由于Redis自身运行机制(主从同步、延迟释放等),内存占用率可能出现略微超过100%
使用DCS实现视频直播弹幕和社交网站评论的功能 使用DCS实现游戏开合服的数据同步 使用DCS实现电商秒杀功能 使用DCS改造传统应用系统数据库 升级Redis 3.0实例到高版本实例
至会导致主备切换。 易造成缓存击穿。 热Key的请求压力过大,超出Redis的承受能力易造成缓存击穿,即大量请求将被直接指向后端的数据库,导致数据库访问量激增甚至宕机,从而影响其他业务。 父主题: 大Key/热Key分析/过期Key扫描
--hotkeys。热Key的详情可以在结果中的summary部分获取到。 通过Redis命令查找大Key 如果有已知的大Key模式,例如知道其前缀为cloud:msg:test,那么可以通过一个程序,SCAN符合该前缀的Key,然后通过查询成员数量和查询Key大小的相关命令,来判断具体的大Key。
<password> :连接服务器的密码,免密连接的实例无需输入-a {password} -r <repeat> :执行指定命令N次 -n <db> :数据库编号,默认是0 -c :启用集群模式(遵循-ASK和-MOVED重定向) --latency :进入特殊模式连续采样延迟 --scan :非阻塞式的扫描键空间(区别于keys
当前分布式加锁主要有三种方式:(磁盘)数据库、缓存数据库、Zookeeper。 使用DCS服务中Redis缓存实例实现分布式加锁,有几大优势: 加锁操作简单,使用SET、GET、DEL等几条简单命令即可实现锁的获取和释放。 性能优越,缓存数据的读写优于磁盘数据库与Zookeeper。 可靠
连接Redis”,进入Web CLI登录界面,如下图所示。 图1 进入Web CLI登录界面 输入实例的访问密码进入Web CLI,然后选择当前操作的Redis数据库,在命令输入框输入Redis命令,按Enter键执行。 控制台连接实例空闲超过5分钟会连接超时,再次登录需要重新输入访问密码。 免密访问的Redis实例无需输入密码。
F文件整库导入。 AOF文件为所有数据更改命令的全量集合,数据文件稍大。 - Rump 支持在线迁移,支持在同一个实例的不同数据库之间,以及不同实例的数据库之间迁移。 不支持增量迁移。 建议停业务后迁移,避免出现Key丢失。详情参考使用Rump在线迁移其他云厂商Redis。 Redis-shake