检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
通过在命令行启动redis_exporter,根据界面输出,查看是否存在错误,根据错误描述,进行问题排查。 [root@ecs-swk /].
在Web CLI中,部分命令被禁用,详情请参考Web CLI中支持和禁用命令。 请勿通过Web CLI输入敏感信息,以免敏感信息泄露。 当前在Web CLI下所有命令参数暂不支持中文且key和value不支持空格。 当value值为空时,执行get命令返回nil。
使用Rump在线迁移其他云厂商Redis 部分云厂商的Redis实例禁止客户端发起SLAVEOF、BGSAVE、PSYNC等命令,无法使用Redis-cli、或RedisShake等工具快速导出数据。使用KEYS命令容易造成服务端阻塞。
查找并禁用高消耗命令 使用了keys等消耗资源的命令,高消耗资源的命令即时间复杂度为O(N)或更高的命令,通常情况下,命令时间复杂度越高,在执行时消耗的资源越高,这会导致CPU使用率超高,容易触发主备倒换。关于各命令对应的时间复杂度信息请参见Redis官网。
查找并禁用高消耗命令 使用了keys等消耗资源的命令,高消耗资源的命令即时间复杂度为O(N)或更高的命令,通常情况下,命令时间复杂度越高,在执行时消耗的资源越高,这会导致CPU使用率超高,容易触发主备倒换。关于各命令对应的时间复杂度信息请参见Redis官网。
例如,使用了keys等消耗资源的命令、日志老化批量删除日志,导致CPU超高,都会触发主备倒换。 用户在DCS界面上执行重启操作,可能触发备节点升主节点,即主备倒换。 Redis实例在扩容过程中,可能会发生主备倒换。
使用DEL等命令直接对Key进行删除。 使用类似于EXPIRE等命令对Key设置过期时间,当达到过期时间时,Redis键空间中的Key将不可访问。
可能在部分复杂的命令,大key且命令复杂度超过O(N)场景下,x86 Redis单CPU能力会强于Arm Redis。 综合来看,Arm Redis和x86 Redis能力和性能相当,都能满足业务需求,Arm Redis价格略低,请根据需要进行选择。
过期key删除机制 惰性删除:Redis的删除策略由主循环中的判断逻辑进行控制,所有Key读写命令执行之前都会调用函数对其进行检查,如果过期,则删除该键,然后返回Key不存在的结果;未过期则不做操作,继续执行原有的命令。
Redis监控数据异常处理方法 当对Redis监控数据存在疑问或异议时,可以使用Redis-cli访问Redis实例,执行info all命令,查看进程记录的指标。
部分开源工具能够利用Memcached的stats cachedump命令结合get操作查询出Memcached中的部分key-value,但由于stats cachedump命令限制最多只能查出不超过2MB的key(查询出的key总长度和不超过2MB,且该长度限制包含每个key
在加锁阶段,需要在lua脚本中执行exists、hset、pexpire、hexists、hincrby、pexpire、pttl命令。 在解锁阶段,需要在lua脚本中执行exists、publish、hexists、pexpire、del命令。
Redis 4.0及以上版本的集群实例(Cluster版本)可以使用cluster nodes命令获取。
DCS的Redis实例对接SpringCloud时,遇到如下错误信息: 图1 Spring Cloud报错信息 原因为出于安全考虑,DCS暂不支持客户端发起的CONFIG命令,需要按如下步骤进行操作: 通过管理控制台修改Redis实例的配置参数notify-keyspace-event
可使用expire或pexpire命令设置某个key过期时间,例如执行expire key1 100命令后,则key1在100秒后将过期;执行pexpire key2 1800后,则key2在1800毫秒后将过期。
查询集群节点命令如下: redis-cli -h {redis_address} -p {redis_port} -a {redis_password} cluster nodes 从节点配置只读模式,请参考READONLY命令。
如果导入不成功,请检查操作步骤,如果是导入命令不正确,建议使用flushall或者flushdb命令清理目标实例中的缓存数据,修改导入命令后重新导入。 父主题: 自建Redis迁移至DCS
命令限制 不支持的Redis命令,请参考开源命令兼容性。 读写分离实例受限使用的命令请参考实例受限使用的Redis命令。 不支持的Redis命令,请参考开源命令兼容性。 Proxy集群实例受限使用的命令请参考实例受限使用的Redis命令。
Redis基础版的实例基于开源Redis构造,开源Redis使用单个主线程处理命令,只能利用一个核的CPU,因此,只需认为单个Redis节点仅使用1核CPU即可。提升基础版Redis实例的内存大小,CPU规格不变。
Redis软件,由传统的单master-单worker线程模型升级为master-N*worker线程模型,每个worker线程都可承担端口监听(监听建立网络链接的请求)、accept请求(接纳并建立网络链接)、读取数据(从网络链接如socket读写数据)和解析协议(解析并处理Redis命令等