检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
d对应的value。 MySQL数据库所在服务器与DCS缓存实例网络互通。 MySQL数据库与Redis实例所在VPC为同一VPC 同一VPC内网络默认互通。 MySQL数据库与Redis实例所在VPC为相同region下的不同VPC 如果MySQL数据库所在VPC与Redis实
多关联查询。这种场景使用Redis,在速度上对传统磁盘数据库有很大优势,能够有效减少数据库磁盘IO,提高数据查询效率,减轻管理维护工作量,降低数据库存储成本。Redis对传统磁盘数据库是一个重要的补充,成为了互联网应用,尤其是支持高并发访问的互联网应用必不可少的基础服务之一。 以下举几个典型样例:
Redis实例支持多DB方式的情况如下: Redis单机、读写分离和主备缓存实例支持多数据库(多DB),默认256个,DB编号为0-255。默认使用的是DB0。多数据库主要用于数据隔离,每个数据库的大小不是平均分配,可能会出现一个数据库将实例的内存完全占用的情况。 Redis Proxy集群默认只有一个DB。
mset一次设置多个,同时这样存储也能节省内存。 设置合理的过期时间。 合理设置Key的过期时间,将过期时间打散,避免大量Key在同一时间点过期。 设置过期时间时,可以在基础值上增减一个随机偏移值,避免在同一个时间点大量Key过期。大量Key过期会导致CPU使用率冲高。 命令使用规范
Key的保存时间是多久?如何设置Key的过期时间? Key的保存时间是多久? 如果没有设置过期Key,数据会一直存在。 如果设置了过期Key,过期Key的删除机制请参考过期Key扫描。 如果已经设置了过期Key,希望移除设定的过期时间,可使用Redis PERSIST命令。 如何设置过期Key?
timeout(3000ms) occurred after 3 retry attempts。 问题排查 根据报错后的提示,将客户端超时时间改大一些。 确认问题发生时的操作,若为执行操作时Key值过大,也会造成超时报错。一般建议key不要超过10KB。 单key大小,Redis
容灾和多活策略 DCS缓存实例都存储着大量关键数据,不论是作为数据库前端缓存,还是作为数据存储引擎,数据的可靠性与服务的连续可用性是DCS服务设计上为客户考虑的核心因素,下图展示了DCS在数据和服务方面的容灾架构设计演进。 图1 DCS容灾架构演进 根据对数据与服务的不同可靠性要
Redis实例内存使用率高问题排查和解决 问题现象 Redis可提供高效的数据库服务,当内存不足时,可能导致Key频繁被逐出、响应时间上升、QPS(每秒访问次数)不稳定等问题,进而影响业务运行。由于Redis自身运行机制(主从同步、延迟释放等),内存占用率可能出现略微超过100%
使用DCS实现排行榜功能 方案概述 在网页和APP中经常需要用到榜单的功能,对某个key-value的列表进行降序显示。当操作和查询并发大的时候,使用传统数据库就会遇到性能瓶颈,造成较大的时延。 使用分布式缓存服务(DCS)的Redis版本,可以实现一个商品热销排行榜的功能。它的优势在于: 数据保存在内存中,读写速度非常快。
开启“自动扫描”,通过设置定时任务,到设定时间将会执行自动扫描。自动扫描的配置说明请参考表1和自动扫描性能说明和配置建议。 表1 自动扫描配置参数 参数名称 参数说明 首次扫描时间 设定的第一次扫描时间,须设定在当前时间之后。 取值格式:YYYY/MM/DD hh:mm:ss 扫描间隔 从首次扫描时间开始,每隔一个时间间隔,便启动一次扫描。
Redis命令执行是否有超时时间?超时了会出现什么结果? Redis超时分为客户端超时和服务端超时。 客户端命令超时时间一般由客户端代码自行控制,业务侧需要根据自己的业务特点选择合适的超时时间(例如Java的Lettuce客户端,该参数名为timeout)。 客户端如果发生命令执
现连接阻塞的情况。 建议:用户需根据业务能容忍的超时时间进行设置,例如在一次HTTP端到端请求中,需要请求两次Redis,而HTTP请求的最大超时时间为10s,则建议将超时时间配置为5s,防止由于超时时间过长或者未配置超时时间造成故障场景下的业务受损。 父主题: Redis使用
高危命令如何重命名? 是否支持pipeline命令? Redis是否支持INCR/EXPIRE等命令? Redis命令执行不生效 Redis命令执行是否有超时时间?超时了会出现什么结果? Redis的Key是否能设置为大小写不敏感? WebCli的常见报错
切换为手动时,保留自动备份策略信息。 begin_at String 备份开始执行时间,该时间为UTC时间,例如“00:00-01:00”代表UTC时间0点开始执行备份。只能是整点时间段,间隔时间限定为一个小时。由自动切换为手动时,保留自动备份策略信息。 表6 Features 参数
至会导致主备切换。 易造成缓存击穿。 热Key的请求压力过大,超出Redis的承受能力易造成缓存击穿,即大量请求将被直接指向后端的数据库,导致数据库访问量激增甚至宕机,从而影响其他业务。 父主题: 大Key/热Key分析/过期Key扫描
数据的增删改操作在华为云DCS的Redis实例中执行一遍。 保持以上状态运行一段时间后(等待较多的旧数据过期删除),把系统的缓存数据库正式切到华为云DCS。如涉及业务系统迁移云服务,需要在缓存数据库切换前完成业务系统的部署。 不推荐使用这种方式。原因如下: 网络无法保证稳定快速,
客户端出现概率性超时错误 针对低概率超时错误,是Redis使用的正常现象。Redis使用受到网络传输、客户端设置超时时间等因素影响,可能出现单个请求超时问题。 建议客户业务编码时,具备重试操作,提升业务的可靠性,避免低概率的单次请求失败时业务失败。 当出现了连接超时问题时,可以优
scan命令替代,且避免频繁执行。 排查实例是否是Redis 3.0,Redis 3.0底层用的是sata盘,当Redis数据持久化即AOF时,会触发偶现的磁盘性能问题,导致连接异常,可更换Redis实例为4.0及以上版本,其底层是ssd盘,磁盘性能更高,或若不需要持久化可关闭AOF。
是否支持Memcached和Redis之间实例数据的迁移? 不支持,Memcached和Redis属于不同的缓存数据库,不支持互相迁移数据。 父主题: 数据备份/导出/迁移
业务中断时间)。 不为空的数据库编号 info keyspace命令查询得到。 用于确认迁移是否涉及多数据库,非AOF文件方式迁移,部分开源工具可能须逐库处理导出和导入。 DCS缓存实例中,单机和主备实例支持0-255共256个数据库,集群默认只提供一个数据库。 各数据库的key数量