免责声明:我阅读了许多声称使用Redis数据库的帖子不是一个好主意,请不要在此讨论。
我使用结构化密钥在Redis DB中保存客户的配置。但是,我必须支持我的应用程序的几个版本,并且配置略有不同,所以我决定在不同的数据库中存储不同的版本。使用不同数据库而不是另一层密钥结构的主要原因是能够立即刷新某个数据库而不是一次删除一个数据库。当我决定放弃一个版本时,我需要这个。 现在,随着版本的出现,当我添加新版本并删除旧版本时,上下索引将自然攀升。然后,当我点击上面的索引边界时,我有两个选择:我可以“重用”我已经放弃的索引,或者我可以添加一个新索引。显然,重用索引需要一些我想避免的额外管理。
所以,我的问题如下:在数据库范围5-15工作和2005-2025数据库范围工作之间是否有性能/内存差异?
答案 0 :(得分:0)
收到关于Redis reddit的回答,在此发帖以供参考:
嗨,
这取决于你想得到多少迂腐 性能/内存影响但总之,基本上根本没有。
以下是SELECT命令中发生的情况:
int selectDb(client *c, int id) {
if (id < 0 || id >= server.dbnum)
return C_ERR;
c->db = &server.db[id];
return C_OK; }
然后,对于任何给定的命令,Redis将与c-> db进行交互 选择数据库实际上只是一个数组查找。一如既往,你应该自己测试一下,但我不明白为什么会这样 以任何有意义的方式影响绩效。