检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
如何查询Redis实例的原生版本 连接需要查询的实例,执行info命令: 图1 查询实例信息 父主题: 实例类型/版本
时性失败。 推荐的重试准则 重试准则 说明 仅重试幂等的操作 由于超时可能发生在下述任一阶段: 该命令由客户端发送成功,但尚未到达Redis。 命令到达Redis,但执行超时。 命令在Redis中执行结束,但结果返回给客户端时发生超时。 执行重试可能导致某个操作在Redis中被重
如果TIME_WAIT过多,可以调整内核参数(/etc/sysctl.conf): ##当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击 net.ipv4.tcp_syncookies = 1 ##允许将TIME-WAIT sockets重新用于新的TCP连接 net.ipv4
Pipeline不能保证原子性。 Pipeline模式只是将客户端发送命令的方式改为批量发送命令,而服务端在批量处理命令的数据流时,仍然是解析出多个单命令并按顺序执行,各个命令相互独立,即服务端仍有可能在该过程中执行其他客户端的命令。如需保证原子性,请使用事务或Lua脚本。 若Pipeline执行过程中发生错误,不支持回滚。
查看Redis实例的慢查询记录 慢查询是Redis用于记录命令执行时间过长的机制。您可以在DCS控制台查看慢请求日志,帮助解决性能问题。 查询结果中,涉及的慢语句命令详情,请前往Redis官方网站查看。 慢查询结果由以下实例配置参数决定: slowlog-log-slower-t
在线迁移,涉及到SYNC/PSYNC命令,适用于源Redis放通了SYNC/PSYNC命令的场景。支持将源Redis中的数据全量迁移或增量迁移到目标Redis中。 Redis-cli Redis自带命令行工具,支持导出RDB文件,也支持将持久化的AOF文件整库导入。 AOF文件为所有数据更改命令的全量集合,数据文件稍大。
使用Rump在线迁移其他云厂商Redis 部分云厂商的Redis实例禁止客户端发起SLAVEOF、BGSAVE、PSYNC等命令,无法使用Redis-cli、或RedisShake等工具快速导出数据。使用KEYS命令容易造成服务端阻塞。云厂商一般只提供备份文件下载,这种方式仅适宜离线迁移,且迁移过程对业务中断时间较长。
Redis内部内存碎片率过高 8 cause 缓存命中率低于{THRESHOLD} 9 cause 大量key集中过期 10 cause 执行了O(N)时间复杂度命令:{COMMANDS} 11 cause CPU负载高于{THRESHOLD} 12 cause 执行持久化 13 cause QPS升高
不支持select命令。数据文件批量导入时,遇到select命令会返回错误提示并忽略,同时继续将剩余数据导入。 举例: 源Redis在数据库编号0和2中有数据,生成的AOF或RDB文件包含了这两个库。 在导入到Proxy集群实例时会忽略“select 2”的命令,然后继续导入源数据库2中的数据到DB0中。
在线迁移,涉及到SYNC/PSYNC命令,适用于源Redis放通了SYNC/PSYNC命令的场景。支持将源Redis中的数据全量迁移或增量迁移到目标Redis中。 进行在线迁移时,迁移执行机会向源端地址发送PSYNC命令,其原理可参考Replication介绍,该命令会引起源端执行fork系
如果TIME_WAIT过多,可以调整内核参数(/etc/sysctl.conf): ##当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击 net.ipv4.tcp_syncookies = 1 ##允许将TIME-WAIT sockets重新用于新的TCP连接 net.ipv4
取值范围:1~86,400 默认值:2880 单位:分 迭代扫描key数量 SCAN命令用于迭代当前数据库中的key集合。 COUNT选项的作用就是让用户告知迭代命令, 在每次迭代中应该从数据集里返回多少元素。具体参见scan命令介绍。迭代式扫描可降低一次扫描过多key而造成扫描时间过长,影响redis性能的问题。
过期key删除机制 惰性删除:Redis的删除策略由主循环中的判断逻辑进行控制,所有Key读写命令执行之前都会调用函数对其进行检查,如果过期,则删除该键,然后返回Key不存在的结果;未过期则不做操作,继续执行原有的命令。 定期删除:由Redis的定时任务函数实现,该函数以一定的频率运行,每次运行
然后通过XGROUP创建消费者组。 消费者使用XREADGROUP指令进行消费。 客户端消费完毕后使用XACK命令确认消息已消费成功。 图2 Stream相关命令介绍 表2 Stream的详细命令 命令 说明 语法 XACK 从流的消费者组的待处理条目列表(简称PEL)中删除一条或多条消息。 XACK
Per Second),Redis 6.0企业版单节点达40万QPS。 监控 提供简单的信息统计。 提供30余项监控指标,并支持用户自定义监控阈值和告警策略。 指标类型丰富 常见的外部业务监控和统计:命令数、并发操作数、连接数、客户端数、拒绝连接数等。 常见的资源占用监控和统计:cp
主备实例或读写分离实例变更为Proxy集群实例 变更为proxy集群时,需要评估proxy集群的多DB使用限制和命令使用限制对业务的影响。具体请参考proxy集群使用多DB限制,实例受限使用命令。 变更前实例的已用内存必须小于变更后最大内存的70%,否则将不允许变更。 如果变更前实例的已用内存
查询指定时段的内存使用率信息,具体操作请参见性能监控。“内存利用率”指标持续接近100%。 查询内存使用率超过95%的时间段内,“已逐出的键数量”和“命令最大时延”,均呈现显著上升趋势,表明存在内存不足的问题。 建议客户登录控制台,参考缓存分析和慢查询,执行大Key扫描和慢查询。如果实例没有
required"。 图1 报错示例 问题分析 Lettuce 6.x版本开始,使用RESP3(Redis 6.x引入)的HELLO命令进行版本自适应判断,但是对于不支持HELLO命令的低版本实例,兼容性存在一定问题。所以对于低版本的实例,建议直接在Lettuce中指定使用RESP2协议(兼容Redis
到热Key。 优点:简单易行。 缺点:需要对业务代码比较了解,另外对于一些复杂的业务场景,不太容易分析。 方法2:在客户端代码中,调用Redis的函数中,进行访问Key的记录,进而统计出热Key。 缺点:需要代码进行侵入式修改。 方法3:抓包分析。 优点:简单易行。 父主题: 大Key/热Key分析/过期Key扫描
使用redis_exporter出错怎么办? 通过在命令行启动redis_exporter,根据界面输出,查看是否存在错误,根据错误描述,进行问题排查。 [root@ecs-swk /]./redis_exporter -redis.addr 192.168.0.23:6379 INFO[0000]