要执行类似于“ auto_increment”的操作,我将查看INCR函数:
http://redis.io/commands/incr
它将增加一个值,并将新值返回给您-它是原子的(就像大多数/所有Redis命令一样),因此您不必担心线程问题。因此,您的步骤将类似于:
- 设置一个增量键。
- 如果要添加值,请输入INCR键,然后使用返回的值INCR设置新值。
- 此时INCR已增加了增量键的值,因此任何重复的值插入都将使用“下一个”数字。
如果要存储可以通过索引查找的项目列表,则可能需要执行以下操作(在编程伪代码中):
// When you initialize your database for the first time.SET index "0"// When you want to insert a new item:INCR indexSET myList:(index value) "My Value"// When you want to retrieve an item, and you have the index for it:GET myList:(index value)
在此示例中,我假设在您的程序中您正在跟踪INCR返回的值。INCR返回的值将是插入新项目的索引,以及以后用来查找项目的索引。因此,在我的示例代码中,将(索引值)替换为从INCR返回的存储值(当然,如何执行此操作取决于您使用的编程语言)。
请注意,这让中间删除项,通过
DEL myList:(index value)了,因为你要跟踪的 最后一个索引
用
index,所以即使项目被删除,最后指数仍将保持不变-这表现得非常类似于“自动增量”大多数SQL服务器中的字段。
您真的不想为此使用集;集合本质上是无序的,并且它们并不是真的可以通过“键”来查找事物-
集合中的项甚至根本没有键。集合对于您可以对它们执行的其他集合操作(例如SINTER或SDIFF)更有用。



