一尘不染

Redis键中冒号的用途是什么

redis

我正在学习如何将Redis用于我的项目。我没弄清楚的一件事是键名称中冒号的确切用途。

我看到过这样的键名:

users:bob
color:blue
item:bag

冒号是否将密钥分为几类,从而使查找密钥的速度更快?如果是这样,您在命名键时可以使用多个冒号将它们划分为子类别吗?最后,它们与在Redis服务器中定义不同的数据库有关吗?

我已经阅读了文档,并对此事进行了大量Google搜索,但奇怪的是我找不到任何讨论此事的信息。


阅读 3015

收藏
2020-06-20

共1个答案

一尘不染

冒号在早期的redis版本中已作为一种存储命名空间数据的概念。在早期版本中,redis仅支持字符串,如果要存储电子邮件和’bob’的使用期限,则必须将其全部存储为字符串,因此使用了冒号:

SET user:bob:email bob@example.com
SET user:bob:age 31

它们在Redis中 没有 特殊的处理或性能特征,唯一的目的是为数据命名,以便再次找到它。如今,您可以使用散列来存储大多数冒号密钥:

 HSET user:bob email bob@example.com
 HSET user:bob age 31

您不必将哈希命名为“ user:bob”,我们可以将其命名为“ bob”,但是使用用户前缀命名它的间隔,我们会立即知道此哈希应该/应该包含哪些信息。

2020-06-20