更新时间:2024-02-28 GMT+08:00

Proxy集群使用多DB限制

DCS对于实现多DB存在一定的约束,建议针对客户业务进行评估:

  • 使用约束:
    1. swapdb不支持多DB。
    2. info keyspace不支持多DB展示。
    3. 需要查询每个DB的key总数,可以使用自定义dbstats命令。命令执行数据节点上会有CPU冲高。
    4. LUA脚本中不支持多DB。
    5. RANDOMKEY命令不支持。
    6. 事务命令中不支持嵌入select命令。
    7. 不支持在lua脚本中使用publish。
    8. DB数支持范围为0 ~ 255。
  • 性能约束:
    1. flushdb命令采用逐个key删除的方式执行,耗时久,慢于开源原生实现,速度与SCAN命令相同(需要客户实际测试)。
    2. dbsize命令耗时长,禁止在代码中使用。
    3. 多DB场景下keys命令和scan命令性能会有损失(最多50%)。
  • 其他约束:

    后端存储会按照一定规则对key进行改写,导出RDB数据中的key不是原始的key,但通过Redis协议访问无影响。

开启/关闭多DB操作步骤

Proxy集群实例默认不开启多DB,支持按照以下操作进行多DB开启。

  1. 登录分布式缓存服务控制台。
  2. 连接实例,执行flushall命令清空原有数据。

    开启或关闭多DB操作时,需要确保实例数据已清空且无新数据写入,否则会操作失败。

  3. 在缓存管理页面,单击缓存实例进入实例详情页面。
  4. 单击“实例配置 > 参数配置”进入参数配置页面。
  5. 单击multi-db参数后的“修改”,将参数运行值修改为“yes”,即开启多DB。

    如需关闭多DB,将参数运行值修改为“no”。

  6. 单击“保存”,在修改参数配置弹框中单击“是”,完成开启/关闭多DB操作,无需重启实例。

Redis使用 所有常见问题

more