在关系型数据库MySQL中我们可以通过设置字段属性为AUTO_INCREMENT来实现每增加一条记录自动为其生成一个唯一的递增ID的目的,而Redis中可以通过另一种模式来实现:对于每一类对象使用名为对象类型:count的键来存储当前类型对象的数量,每增加一个新对象时都使用INCR命令递增该键的值。
自增ID计数器的实现思路相当简单:每当某个操作发生时,向 Redis 发送一个 INCR 命令。
Redis Incr 命令将 key 中储存的数字值加一。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
例如:
127.0.0.1:6379> set chenfeng 10
OK
127.0.0.1:6379> incr chenfeng
(integer) 11
127.0.0.1:6379> get chenfeng
"11"
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15498/viewspace-2158417/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15498/viewspace-2158417/
本文介绍如何在Redis中实现自增ID计数器,通过使用INCR命令为每类对象生成唯一递增ID,替代MySQL的AUTO_INCREMENT功能。适用于需要在非关系型数据库中实现类似功能的场景。
683

被折叠的 条评论
为什么被折叠?



