我指的是这个 great answer @Sripathi Krishnan 在 SO 上提出的问题:Redis 只是一个缓存吗
我正在尝试学习如何使用 Redis,我的研究让我想到了关于 SO 的问题。
有人可以解释代码中这两行的原因吗,因为我仍然发现很难理解它们在 Sripathi 答案中给出的代码中的用处。
$ HINCRBY unique_ids question 1
$ HINCRBY unique_ids answer 1
我知道它创建了一个以“unique_ids”为键的散列,字段“question”和“answer”首先初始化为 0,然后增加到 1。除此之外,我没有看到 unique_ids 键的任何链接顺其自然,但我不确定我的菜鸟思维是否遗漏了什么。
最佳答案
这些命令只是生成合成主键的一种方式。
在斯里的例子中,人们可以在系统中添加问题和答案。这些实体需要被引用,所以它们需要通过唯一的键来标识。您可能会想象使用某种 UUID机制,但使用数字键通常更简单。
unique_ids 只是一个方便的容器,用于存储系统中存储的对象的下一个可用键。要添加新问题,只需增加 unique_ids 的问题字段(Redis 的原子操作)并将返回值作为新问题的键。它保证所有新问题都有不同的键值。
在关系数据存储中,此类功能由序列(Oracle、PostgreSQL)或自动增量主键(MySQL)提供。
关于redis - Redis 小片段的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11373881/