更新时间:2024-02-28 GMT+08:00
Proxy集群使用多DB限制
DCS对于实现多DB存在一定的约束,建议针对客户业务进行评估:
- 使用约束:
- swapdb不支持多DB。
- info keyspace不支持多DB展示。
- 需要查询每个DB的key总数,可以使用自定义dbstats命令。命令执行数据节点上会有CPU冲高。
- LUA脚本中不支持多DB。
- RANDOMKEY命令不支持。
- 事务命令中不支持嵌入select命令。
- 不支持在lua脚本中使用publish。
- DB数支持范围为0 ~ 255。
- 性能约束:
- flushdb命令采用逐个key删除的方式执行,耗时久,慢于开源原生实现,速度与SCAN命令相同(需要客户实际测试)。
- dbsize命令耗时长,禁止在代码中使用。
- 多DB场景下keys命令和scan命令性能会有损失(最多50%)。
- 其他约束:
后端存储会按照一定规则对key进行改写,导出RDB数据中的key不是原始的key,但通过Redis协议访问无影响。
开启/关闭多DB操作步骤
Proxy集群实例默认不开启多DB,支持按照以下操作进行多DB开启。
- 登录分布式缓存服务控制台。
- 连接实例,执行flushall命令清空原有数据。
开启或关闭多DB操作时,需要确保实例数据已清空且无新数据写入,否则会操作失败。
- 在缓存管理页面,单击缓存实例进入实例详情页面。
- 单击“实例配置 > 参数配置”进入参数配置页面。
- 单击multi-db参数后的“修改”,将参数运行值修改为“yes”,即开启多DB。
如需关闭多DB,将参数运行值修改为“no”。
- 单击“保存”,在修改参数配置弹框中单击“是”,完成开启/关闭多DB操作,无需重启实例。
父主题: Redis使用
Redis使用 所有常见问题
- 是否支持CPU架构的变更?
- 实例是否支持变更可用区
- Redis实例能否修改VPC和子网?
- 实例是否支持自定义或修改端口?
- 实例是否支持修改访问地址?
- 实例无法删除是什么原因?
- 集群实例启动时间过长是什么原因?
- 使用redis_exporter出错怎么办?
- 什么是预留内存,如何配置预留内存?
- 创建的缓存实例为什么可使用内存比实例规格少一些?
- Redis 3.0 Proxy集群不支持redisson分布式锁的原因
- DCS Redis有没有后台管理软件?
- DCS缓存实例的数据被删除后,能否找回?
- 为什么实例实际可用内存比申请规格小而且已使用内存不为0?
- 如何查看Redis内存占用量
- Cluster集群实例容量和性能未达到瓶颈,但某个分片容量或性能已过载是什么原因?
- 访问Redis报OOM错误提示
- 不同编程语言如何使用Cluster集群客户端
- 使用Cluster的Redis集群时建议配置合理的超时时间
- 读取redis数据报超时错误
- hashtag的原理、规则及用法示例
- Redis key丢失是什么原因
- 重启实例后缓存数据会保留吗?
- 如何确认实例是单DB还是多DB
- Proxy集群使用多DB限制
- 如何创建多DB的Proxy集群实例?
more