【发布时间】:2013-04-19 17:59:39
【问题描述】:
所以,我想将存储在 redis 中的数据分段到单独的数据库中,因为有时我需要对一种特定类型的数据使用 keys 命令,并希望将其分离为让它更快。
如果我分割成多个数据库,一切仍然是单线程的,我仍然只能使用一个核心。如果我只是在同一个盒子上启动另一个 Redis 实例,我就可以使用一个额外的核心。最重要的是,我不能命名 Redis 数据库,或者给它们任何更合乎逻辑的标识符。那么,综上所述,为什么/何时我想要使用多个 Redis 数据库,而不是为我想要的每个额外数据库启动一个额外的 Redis 实例?与此相关的是,为什么 Redis 不尝试为我添加的每个额外数据库使用一个额外的核心?跨数据库单线程有什么好处?
【问题讨论】:
-
在您的 Node.js 应用程序中,执行此操作 ---> module.exports = {"1":"your name for redis db one","2":"your name for redis db two ","3":"your name for redis db three"} 等,或者根据需要切换键和值
-
在 Redis 2.8.0 及更高版本中,建议您使用 SCAN 而不是 KEYS,因为它一次迭代少量元素(因此不会长时间阻塞服务器) .
标签: redis