redis - key-value 存储在Redis键中冒号的用途

我看到key的名称,例如:


users:bob


color:blue


item:bag



冒号是否将键分隔成类别,并使查找键更快?它们与在Redis服务器中定义不同的数据库有什么关系?

时间:

冒号在早期的Redis版本中作为存储名称空间数据的概念。在早期版本中,Redis只支持字符串,如果想存储电子邮件和'bob'的年龄,你必须将它全部存储为字符串,因此冒号


SET user:bob:email bob@example.com


SET user:bob:age 31



在Redis中,它们没有被特殊的处理,惟一的用途是命名粘贴数据以再次查找它,现在你可以使用哈希来存储大多数key:


 HSET user:bob email bob@example.com


 HSET user:bob age 31



冒号是一种构造键的方法,它们不被Redis解释,还可以使用其他分隔符,这都随你喜欢或根本不用它,我个人喜欢/,这使得我的密钥看起来像文件系统路径,


GET user:bob:color -> 'blue'


GET user:alice:color -> 'red'



SMEMBERS user:peter:friends -> alice, bob



SORT user:peter:friends BY NOSORT GET user:*:color -> 'blue', 'red'



...