Redis 是否使用索引来获取数据?

Raz*_*Raz 4 redis node.js

如果我这样做:

client.get("foo", (err, res) => {
  console.log(res);
});
Run Code Online (Sandbox Code Playgroud)

Redis 服务器中存储了数十亿个密钥,它是否会像只存储几个密钥一样快速返回数据?

或者我应该使用索引(如果 Redis 中有索引),就像在 MongoDB 中查询数据库一样?

Uro*_* T. 7

Redis GET命令的复杂度O(1),这意味着如果有 10、10k 或 1000 万个条目,它总是会在相同的时间内(不计算网络延迟和带宽)获取数据。这就是您使用 Redis 一个简单的键值存储的情况。内存中检索 + 唯一键允许它做到这一点。

如果你有更复杂的数据结构,比如哈希,那么你可以做二级索引。在这里查看更多