2012-07-07 52 views
2

我指的是这个great answer由@Sripathi克里希南给在这里问上这样的问题:是Redis的只是一个缓存小Redis的说明片断

我想学习如何使用Redis的和我的研究让我回到SO的问题。

有人可以解释这两行代码的原因,因为我仍然很难理解他们在代码Sripathi给出的答案中的用处。

$ HINCRBY unique_ids question 1 
$ HINCRBY unique_ids answer 1 

我知道,它创建了一个哈希以“unique_ids”它与领域“问题”和“答案”先初始化为0,然后增加到1除了这个关键,我看不出有任何联系的unique_ids键与流量,但我不知道如果我的noob心灵缺少的东西。

回答

2

这些命令只是生成合成主键的一种方式。

在斯里兰卡的例子中,人们可以在系统中添加问题和答案。这些实体需要被引用,所以它们需要用唯一的键来标识。您可以想象使用某种UUID机制,但使用数字键通常更简单。

unique_ids只是一个方便的容器,用于存储系统中存储的对象的下一个可用键。要添加新问题,只需增加unique_ids的问题字段(使用Redis进行原子操作),并使用返回的值作为新问题的关键字。它保证所有新问题将具有不同的关键价值。

在关系数据存储中,此类功能由序列(Oracle,PostgreSQL)或自动增量主键(MySQL)提供。