我正在评估使用 redis 存储一些会话值。在构建 redis 客户端(我们将使用这个 python客户端)时,我可以传入 db 以使用。将数据库用作我的键的前缀是否合适?例如,将所有会话密钥存储在 db 0 中,将一些消息存储在 db 1 中等等?还是应该将所有应用程序密钥保存在同一个数据库中?
问问题
1763 次
1 回答
1
引用我对这个问题的回答:
这取决于您的用例,但我的经验法则是:如果您有大量与 Redis 中的所有其余数据无关的相关数据键,请将它们放入新数据库中。原因是:
您可能需要(非理想情况下)在某个时候使用 keys 命令来获取所有这些数据,并且将数据隔离会更便宜。
您可能希望稍后切换到第二个 redis 服务器,并且预先隔离相关数据会使这变得更容易。
您可以将数据库命名在某个地方,以便您或新员工更容易找出在哪里查找特定数据。
相反,如果您的数据与其他数据相关,它们应该始终存在于同一个数据库中,因此您可以轻松编写可以访问两者的管道和 lua 脚本。
于 2013-09-09T19:10:11.360 回答