redis - Redis 小片段的解释

标签 redis

我指的是这个 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/

相关文章:

node.js - 使用相同的 redis.createClient() 实例进行发布和订阅

c# - Redis 中的键值对列表

r - 运行文档中的 doRedis 示例时出现 TryCatch 和名称错误

heroku - 重新启动 Heroku Dynos 会导致 Redis SSL 连接错误 5 分钟,直到自行解决

ruby-on-rails - 运行 Rails + Sidekiq 的 2 台服务器使用相同的 redis 服务器会导致意外行为吗?

php - 具有 MySQL、Sphinx、Nginx、PHP-FPM、Memcached 和 Redis 的高性能 Web+数据库服务器

python - 将 Python 应用程序连接到 Kubernetes 集群上的 Redis

node.js - 等待最后一个 stream.on ('data' ) 事件中异步函数的回调

php - 如何将 Redis 用于 Postgresql 的 LRU 缓存?

node.js - Node 为 : hgetall returns true, 的 Redis 但回调返回 null