检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Redis/Memcached实例变更失败的原因 检查是否有其他任务在执行。 实例变更过程中,同时有其他任务在执行。例如实例正在重启的同时,执行删除或扩容操作,或者实例正在扩容的时候,执行删除操作。 遇到实例变更操作失败,可以稍后尝试,如果仍然存在问题,请提工单联系技术支持。 如
客户Http的Server端关闭导致Redis访问失败 原因分析:客户端使用长连接,或者连接池,用完后关闭与DCS实例的连接,再次使用时,出现报错。 解决方案:使用长连接或连接池,用完后不要关闭连接;如果发现连接中断,请重新建连。 父主题: 客户端和网络连接
使用短连接访问Redis出现“Cannot assign requested address”错误 问题描述 应用程序通过短连接访问Redis实例时,报错:Cannot assign requested address。 问题分析 出现这种错误的应用程序使用的架构基本都是php-fpm加上p
可能原因如下: 实例资源为包周期实例。 包周期的实例不支持删除操作,界面没有“删除”按钮,用户需要执行“退订”操作,退订实例资源。 实例状态不是“运行中”。 只有当实例处于“运行中”状态,才能执行删除操作。 确认实例是否为创建失败的实例。 单击缓存实例列表上方“创建失败的实例”后的图标或
使用Lettuce 6.x版本客户端,连接DCS的Redis Proxy(4.x/5.x)集群,会报错"NOAUTH Authentication required"。 图1 报错示例 问题分析 Lettuce 6.x版本开始,使用RESP3(Redis 6.x引入)的HELLO
集群和读写分离实例的proxy节点中执行一个命令,执行时间超过了proxy-slowlog-log-slower-than参数设置的阈值(单位为微秒),则会被记录到慢查询中。该参数的默认值为256000,即256ms,当proxy节点的命令执行时间超过256ms,则生成慢查询。
如何查询Redis实例的原生版本 连接需要查询的实例,执行info命令: 图1 查询实例信息 父主题: 实例类型/版本
redisson分布式锁的加锁和解锁都是执行一段lua脚本功能实现的。 在加锁阶段,需要在lua脚本中执行exists、hset、pexpire、hexists、hincrby、pexpire、pttl命令。 在解锁阶段,需要在lua脚本中执行exists、publish、hexists、pexpire、del命令。
单实例上的mset、lua脚本等处理多key时,是一个原子性(atomic)操作,所有给定key都会在同一时间内被执行。集群每次通过对key进行hash计算到不同的分片,所以集群上同时执行多个key,不再是原子性操作,会存在某些给定 key 被更新而另外一些给定key没有改变的情况,其原因是
如何清空Redis数据? 注意数据清空功能为高危操作,请谨慎执行。 Redis 3.0实例 Redis 3.0实例不支持在DCS控制台上执行“数据清空”功能。需要使用Redis-cli客户端连接实例,执行flushdb或者flushall命令进行清空。 flushall:清空整个实例的数据。
属于同一个slot,否则报错,建议使用hashtag技术。 使用event notify时,需要建立与每个redis-server的连接,分别处理每个连接上的事件。 执行scan、keys等遍历类或者全局类命令时,需要对每个redis-server分别执行该命令。 客户端协议 使用传统Redis客户端即可。
使用Lettuce连接Cluster集群实例时,规格变更的异常处理 问题现象 使用lettuce连接Cluster集群实例,实例执行规格变更后,分片数有变化时,部分槽位(Slot)会迁移到新分片上,当客户端连接到新分片时会出现以下异常问题: 图1 异常现象 详情可参考Lettuce社区:Connection
是否支持pipeline命令? 支持。 注意: Redis Cluster集群实例使用pipeline时,要确保管道中的命令都能在同一分片执行。 父主题: Redis命令
按需实例转包周期失败是什么原因? 可能原因:实例资源不是“运行中”。 只有当实例处于“运行中”状态,才能执行转包周期操作。 父主题: 计费FAQ
return 0; } 执行以下命令进行编译。 gcc connRedis.c -o connRedis -I /usr/local/include/hiredis -lhiredis 如果有报错,可查找hiredis.h文件路径,并修改编译命令。 编译完后得到一个可执行文件connRedis。
&& make install 安装libmemcached之前要完成gcc-c++、sasl相关组件的安装。否则会在编译过程中报错,报错问题解决后请执行make clean之后重新make。 安装php。 yum install php-devel php-common php-cli
slave”和“overcoming of output buffer limits” 如何导出Redis实例数据? 使用Rump工具迁移数据,命令执行后无报错,但Redis容量无变化 是否支持控制台导出RDB格式的Redis备份文件? 缓存实例备份文件如何存放?备份文件的数量是否有限制? R
表2。 读写分离实例受限使用的命令,如表4。 当用户执行比较耗时的命令(如flushall)时,可能会导致缓存实例在命令执行期间对外不响应用户的其它命令,造成状态监控失效,此时Console上缓存实例的状态会变成异常,命令执行结束后,实例状态会恢复正常。 Cluster集群实例受限使用的Redis命令
测试实例规格 Redis 4.0/5.0 8G主备 Redis 4.0/5.0 32G主备 测试执行机规格 通用计算增强型 | c6.2xlarge.2 | 8vCPUs | 16GB 测试执行机镜像 Ubuntu 18.04 server 64bit 测试工具 使用单台ECS测试,测试工具为redis-benchmark
约束与限制 Redis 3.0、Memcached实例不支持实例诊断。 新创建的缓存实例,请在实例创建成功10分钟后,再执行实例诊断,否则可能会诊断失败。 实例在规格变更过程中执行实例诊断可能会诊断失败。 诊断Redis实例 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。