检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
对于阻塞命令,GeminiDB Redis接口(主备实例)与开源Redis的返回值为什么可能有差异 开源Redis没有规定“当有客户端执行了阻塞命令等待key写入的情况,并发对这些key执行写命令”的返回值。 GeminiDB Redis主备实例的接口返回值可能和开源Redis不一样,但两者均满足开源文档描述行为。
“我的命令”中查看详情。 带密码命令无法保存到“我的命令”中。 图7 保存命令 我的命令 我的命令主要展示的是一些常见操作命令。 您可以根据命令的适用范围筛选命令,当选择“所有”时可以查询到当前账号下所保存的所有命令,其他类型可根据相应的适用范围进行查询。 图8 筛选命令 您也可
/usr/local/Cassandra 执行如下命令,配置环境变量。 echo "export PATH=/usr/local/Cassandra/bin:$PATH" >> /etc/profile 执行如下命令,使环境变量生效。 source /etc/profile 执行如下命令,创建数据目录。 mkdir
return } // Ping 主节点 ctx, cancel = context.WithTimeout(context.Background(), 2*time.Second) defer cancel()err = client.Ping(ctx, readpref.Primary())
是否在空闲资源监测时通过PING命令监测连接有效性,无效连接将被销毁。 false true testOnBorrow 每次向资源池获取连接时是否做连接有效性检测(发送PING请求),无效连接会被释放。 false 建议使用默认值。设为true相当于在每个命令执行完前先发一个PING命令,对高并
个连接中,当客户端执行multi命令后,redis开始将后续收到的命令缓存在队列中,当客户端发送exec命令时,redis按照顺序依次执行队列中的所有命令。如果有一个命令执行失败则事务回滚,所有命令要么全部成功,要么全部失败。 表1 相关命令 命令 含义 WATCH 用于监视一个
新特性及性能优化: 新增SCRIPT FLUSH命令对SYNC/ASYNC参数的支持。 优化布隆过滤器的性能。 新增BF.CARD命令支持。 优化EXISTS命令在BITMAP类型上的实现。 新增STRALGO命令支持。 优化FASTLOAD功能的性能。 优化阻塞命令的性能和稳定性。 新增指定Partition执行SCAN命令的能力。
试为准。 其它注意事项: Pipeline 不保证原子性,服务端在处理批量命令时,解析出多个单命令并按顺序执行,各个命令相互独立,服务端有可能在该过程中执行其他客户端的命令。某个命令执行失败不会影响其他命令的执行,如需原子性,需要使用事务或lua实现。 单次 Pipeline 的
Redis服务屏蔽sync和psync命令限制,实现数据从阿里云Redis服务迁移至华为云GeminiDB Redis中。 使用须知 阿里云侧源端需与华为侧目标端网络互通,需要开通专线或绑定公网IP。 阿里云DTS数据迁移功能实时收费,使用前请确保阿里云账户余额充足。 华为云GeminiDB R
使用Lua脚本时应遵循轻量化原则,避免引入执行命令次数过多、长时间sleep、大的循环语句等不合理用法。 12 避免在事务中打包过多命令。 使用事务时应遵循轻量化原则,避免单次事务中打包过多命令或复杂度过高的命令。执行的事务中包含命令过多会引起请求阻塞或实例状态异常。 13 避免在不同数据类型下使用相同的Key名称。
如何处理报错: "delete is forbidden" 当执行逻辑删除命令,如delete/drop measurement 命令会触发错误"delete is forbidden"。 逻辑删除执行效率低,严重时可能导致系统卡死。请根据需求设置合理的RP,通过RP自动删除数据。
本文将介绍如何利用lua实现分布式锁。 Redis分布式锁原理 Redis分布式锁的基本原理是利用Redis的原子命令来创建一个锁。最简单的实现方式是使用SETNX命令,这个命令只有在键不存在时才会设置键的值,如果键已经存在,命令不会执行任何操作。这样,第一个获取锁的进程会成功设置键的值,而后续尝试获取锁的进程都会失败,直到锁被释放。
如何处理报错“ERR unknown command sentinel" 报错场景 GeminiDB Redis实例执行“SENTINEL”命令时,可能会出现“ERR unknown command sentinel”报错。 报错可能原因 GeminiDB Redis集群版实例参数
GeminiDB Redis执行多Key命令时,可能会出现“CROSSSLOT Keys in request don't hash to the same slot”报错。 报错可能的原因 Redis集群架构不支持跨Slot执行涉及多Key的命令,例如EVAL、BRPOPLPUSH等。
间指数增长,避免在服务器负载高时大量请求同时重试,导致雪崩效应。 避免对非幂等命令执行重试 当客户端检测到命令执行超时后,存在服务端已经执行完命令但是在回包阶段出现异常的场景,此时执行重试可能会导致命令被重复执行。因此,通常推荐只针对幂等操作进行重试(例如SET操作,多次执行得到
实时日志等操作。 使用须知 内部连接的操作不记录审计日志。 始终审计的命令:BigKeys keys flushall flushdb script client config 。 只审计大批量的命令(单次命令操作参数较多): bitop msetnx pfcount pfmerge
} // Ping 主节点 ctx, cancel = context.WithTimeout(context.Background(), 2*time.Second) defer cancel()err = client.Ping(ctx, readpref
当实例中的key数量较多时,传统的SCAN命令扫描耗时久,开源Redis较难解决该痛点问题。GeminiDB Redis基于分布式架构,支持用户同时对多个数据分区进行并行扫描,达到并行提速效果。 注意事项 该方案仅适用于GeminiDB Redis集群版实例。 当为SCAN命令指定了PARTITIO
String命令类型指标 Hashes命令类型指标 Lists命令类型指标 Set命令类型指标 Zset命令类型指标 Bitmap命令类型指标 Stream命令类型指标 Geo命令类型指标 Hyperloglog命令类型指标 Pub/Sub命令类型指标 Scripting命令类型指标
op:操作类型。通常是query、insert、update、delete、command中的一种。 ns:操作目标集合。 其他参数详见db.currentOp()命令官方文档。 根据命令执行结果,分析是否有异常耗时的请求正在执行。 如果业务日常运行的CPU使用率不高,由于执行某一操作使得CPU使用率过高,导致业务