检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Redis客户端和服务端通过二进制协议进行通信,使用Redis-cli、Jedis、Python客户端并没有差异。 因此如果怀疑Redis有问题,但是使用Redis-cli排查没问题,那就很可能是业务代码存在问题,如果日志没有明显错误信息,则建议在代码添加日志支撑进一步分析。
Redis本身支持不设置密码,客户端可以直接连接Redis缓存服务并使用,但出于安全考虑,建议尽量选用密码模式,通过密码来鉴权验证,提升安全性。若选用密码模式,您需要在创建实例时自定义密码。
详情参考:产品规格介绍,产品架构介绍 公网访问 针对Redis 3.0实例,可以为其绑定一个弹性公网IP地址,客户端通过公网ip进行访问。
Redis实例支持的逐出策略 在达到内存上限(maxmemory)时,Redis支持选择以下8种数据逐出策略: noeviction:在这种策略下,如果缓存达到了配置的上限,实例将不再处理客户端任何增加缓存数据的请求,比如写命令,实例直接返回错误给客户端。
DCS Redis缓存实例支持Redis的绝大部分命令,任何兼容Redis协议的客户端都可以访问DCS。 因安全原因,部分Redis命令在分布式缓存服务中被禁用,具体请见Redis 4.0禁用的命令。
查看Redis实例的命令审计日志 命令审计日志,是记录客户端访问DCS操作的一种日志,由华为云的云日志服务(LTS)提供存储、查询和分析等功能。
DCS Redis缓存实例支持Redis的绝大部分命令,任何兼容Redis协议的客户端都可以访问DCS。 因安全原因,部分Redis命令在分布式缓存服务中被禁用,具体请见Redis 6.0禁用的命令。
对客户端使用来说完全一样,没有额外的适配工作量。 可能在部分复杂的命令,大key且命令复杂度超过O(N)场景下,x86 Redis单CPU能力会强于Arm Redis。
当实例带宽不足时,可能会产生流控,导致业务延迟增大,客户端连接异常等问题。目前,Redis 4.0及以上版本的实例,支持通过控制台调整Redis实例带宽,用于适配业务对带宽值的不同需求。 约束与限制 企业版Redis暂不支持调整带宽。
DCS Redis缓存实例支持Redis的绝大部分命令,任何兼容Redis协议的客户端都可以访问DCS。 因安全原因,部分Redis命令在分布式缓存服务中被禁用,具体请见Redis 5.0禁用的命令。
不同的实例规格对应的最大带宽有所不同,当超过该规格的最大带宽时,会产生流控,流控会导致连接被丢弃,从业务角度可能会造成业务的延迟增大,客户端连接异常等问题。本节讲述如何排查Redis实例带宽使用率高的问题。 操作步骤 查询带宽使用率。 查询实例在指定时段的带宽使用率。
流控会导致连接被丢弃,从业务角度可能会造成业务的延迟增大,客户端连接异常等问题。 实例规格对应的最大带宽,可以查看实例规格中对应实例类型的“基准/最大带宽”。 带宽使用率不高时,也有可能有限流,因为带宽使用率是上报周期实时值,一个上报周期检查一次。
使用客户端缓存/本地缓存。 该方案需要提前了解业务的热点Key有哪些,设计客户端/本地和远端Redis的两级缓存架构,热点数据优先从本地缓存获取,写入时同时更新,这样能够分担热点数据的大部分读压力。缺点是需要修改客户端架构和代码,改造成本较高。 设计熔断/降级机制。
关于客户端连接缓存实例,请参考用户指南中的连接Redis缓存实例、连接Memcached缓存实例,有Redis、Memcached的多语言客户端连接示例说明。 约束与限制 您能创建实例数和总内存大小,具体请参见服务配额。 更详细的限制请参见具体API的说明。
在普通模式中,Redis会记住每个客户端请求的key,当该key所对应的value发⽣变化时,将会发送失效消息(invalidation message)通知对应的客户端集合,但对于每个客户端仅会通知⼀次,即使后续该key所对应的value有其他操作改动,除非客户端在接收到失效消息后
公网环境已参考Redis-cli连接中相关步骤,安装Redis-cli客户端。 .
客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。
创建事件监控告警后,如果发生主备倒换,系统会上报主备倒换事件,收到该事件通知后,请查看客户端业务是否存在异常。如果业务不正常,则需要确认客户端连接是否正常,是否支持在主备倒换后进行客户端重连恢复业务,如果不支持客户端重连,则需要重启客户端。 父主题: 主备倒换
避免使用Lettuce客户端 Lettuce客户端在默认配置下有一定性能优势,并且是spring的默认客户端,但是Jedis客户端在面对连接异常,网络抖动等场景下的异常处理和检测能力明显强于Lettuce,可靠性更强,建议使用Jedis。
客户端所在服务器与DCS缓存实例网络互通: 客户端与Redis实例所在VPC为同一VPC 同一VPC内网络默认互通。