检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
5,一般认为内存碎片占比过高,内存利用率低。 因此,合理规划和使用缓存数据,规范数据写入,有助于减少内存碎片的产生。 Redis 3.0及以下:可以通过定期重启服务解决内存碎片问题。建议实际缓存数据不超过配置可用内存的50%。 Redis 4.0:支持主动整理内存碎片,服务在运行期间进行自动内存碎片清理。同时Redis
Redis在线数据迁移是迁移整个实例数据么? AOF文件在什么情况下会被重写 Redis迁移失败有哪些常见原因? 一个数据迁移能迁移到多个目标实例么? 怎么放通SYNC和PSYNC命令? 迁移或导入备份数据时,相同的Key会被覆盖吗? Cluster集群实例使用内置key且跨slot的Lua脚本时迁移失败
流控次数 >=0 告警阈值:>0 连续触发次数:1 告警级别:紧急 是 结合规格限制、网络瞬时输入流量和网络瞬时输出流量,查看是否扩容解决。 说明: Redis 4.0以上版本的实例才支持该指标,Redis 3.0实例不支持。 Redis实例Proxy节点告警策略 表4 Proxy节点建议配置告警的指标
2020年8月 删除Lua中的随机值函数。 2020年4月 修复使用redis crash时日志打印不适用bio线程的问题。 2020年3月 解决EulerOS中glibc版本过老问题。 2020年1月 增加maxrss配置项,删除maxkeys配置项。 2020年1月 支持maxk
即常说的内存碎片。 memory purge只适用于使用jemalloc作为allocator的Redis实例。 Lazy free机制 解决的痛点/问题 Redis是单线程程序,当运行一个耗时较大的请求时,会导致所有请求排队等待,在请求处理完成前,Redis不能响应其他请求,因
Redis集群单分片主节点故障时,主备切换完成后,该分片原主节点(已切换为从节点)因故障不会立刻恢复,业务继续访问该分片原主节点会失败,可通过配置Redis SDK解决此类情况,具体请参见使用客户端连接Redis。 父主题: DCS实例类型
解析RDB失败 解析RDB失败的处理建议: 请检查源端Redis日志,通常是全量同步过久或者增量过大,导致output buffer打满。通常解决办法有如下几种: 修改增大源端output buffer的大小,通过修改output-buffer-limit参数,建议采用这种方式。 增
response timeout(3000ms) occurred after 3 retry attempts。 问题排查 根据报错后的提示,将客户端超时时间改大一些。 确认问题发生时的操作,若为执行操作时Key值过大,也会造成超时报错。一般建议key不要超过10KB。 单ke
当遇到演练中没有及时发现的问题,导致数据迁移后无法供业务使用,且短期无法解决,则涉及到业务回退。 由于源Redis数据仍然存在,因此只需业务完成回退,重新接入源Redis实例即可。 在完成回退后,可继续从演练甚至准备阶段重新开始,解决问题。 迁移信息收集表 评估和准备阶段收集的信息填写参考下表:
Proxy版集群实例 使用方式与单机、主备实例类似,但是默认只有1个DB,不支持select命令。数据文件批量导入时,遇到select命令会返回错误提示并忽略,同时继续将剩余数据导入。 举例: 源Redis在数据库编号0和2中有数据,生成的AOF或RDB文件包含了这两个库。 在导入到Proxy集群实例时会忽略“select
单击需要导出数据的实例名称,进入该实例详情页面。 单击“备份与恢复”,查看该实例的备份记录。 如没有备份记录,执行手动备份后,单击“下载”,根据提示完成数据的下载操作。 如果您的实例创建时间非常早,由于实例版本没有升级而无法兼容备份恢复功能,请联系技术支持将缓存实例升级到最新版本,升级后就可以支持备份恢复功能。
两个服务器(区)的数据合并到一个服务器(区),使新老玩家就能在同一个区进行游戏。在这个过程中,会遇到如何将不同服务器数据同步的相关问题。 解决方案 在游戏开合服方面,使用分布式缓存服务(DCS)的Redis缓存可以应用到以下场景: 跨服数据同步 游戏合服后,需要将多个游戏服务器的
的基本信息页面。 单击“公网访问”后的“开启”。 在开启公网访问弹窗中勾选需要绑定的ELB,单击“确定”。 如果没有可选的ELB,单击页面提示的“弹性负载均衡”跳转链接,可前往ELB控制台页面进行创建。如果已经创建了ELB,未在ELB选择列表中,请参考前提条件中的说明排查ELB是否符合绑定条件。
秒杀过程中多次访问数据库,下单通常是利用行级锁进行访问限制,抢到锁才能查询数据库和下单。但是秒杀时的大量订单请求,会导致数据库访问阻塞。 解决方案 利用分布式缓存服务(DCS)的Redis作为数据库的缓存,客户端访问Redis进行库存查询和下单操作,具有以下优势: Redis提供
实例存储数据中被访问最多的Key。 慢查询:慢查询是Redis用于记录命令执行时间过长请求的机制。您可以在DCS控制台查看慢请求日志,帮助解决性能问题。 实例诊断:当您的Redis实例发现故障、性能有问题时,您可以通过实例诊断功能,及时获取实例诊断项目异常的原因、影响以及处理建议。
为保护Redis实例的网络安全性,已开启公网访问的Redis实例不支持开启免密访问。 只有所有节点都重置密码成功,系统才会提示重置密码成功,否则会提示重置失败。重置失败可能会造成实例重启,将缓存实例密码还原。 重置新的密码后,服务端无需重启,立即生效。 登录分布式缓存服务管理控制台。
遵循集群实例使用lua的限制 遵循集群实例使用lua的限制。 使用EVAL和EVALSHA命令时,命令参数中必须带有至少1个key,否则客户端会提示“ERR eval/evalsha numkeys must be bigger than zero in redis cluster mode”的错误。
可选一个或多个。 DCS缓存实例状态为创建中、启动中、停止中、重启中时不允许执行删除操作。 单击实例上方信息栏的“更多 > 删除”。 根据提示输入“DELETE”,并单击“是”,完成删除缓存实例。 删除DCS缓存实例大约需要1到30分钟。 如果只需要删除单个DCS缓存实例,也可以
增加时延。 EVAL和EVALSHA相关命令使用限制 使用EVAL和EVALSHA命令时,命令参数中必须带有至少1个key。否则客户端会提示“ERR eval/evalsha numkeys must be bigger than zero in redis cluster mode”的错误。
Java虚拟机中的线程有效,对其他Java虚拟机的线程无效。此时,Java提供的原生锁机制在多机部署场景下就会失效,出现库存超卖的现象。 解决方案 基于上述场景,需要保证两台机器加的锁是同一个锁,用加锁的方式对某种资源进行顺序访问控制。这就需要分布式锁登场了。 分布式锁的思路是: