go-redis 自增,如果key不存在,从10000开始自增,返回结果
时间: 2024-03-08 12:49:00 浏览: 21
可以使用Go语言中的go-redis库来完成这个操作。具体实现代码如下:
```go
import (
"fmt"
"github.com/go-redis/redis"
)
func main() {
// 创建 Redis 客户端
client := redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: "",
DB: 0,
})
// 定义 key
key := "test_key"
// 使用 INCRBY 命令自增 key 的值,如果 key 不存在,则从 10000 开始自增
val, err := client.IncrBy(key, 1).Result()
if err != nil && err != redis.Nil {
panic(err)
}
if val == 1 {
// 如果返回值为 1,说明 key 不存在,则从 10000 开始自增
val, err = client.IncrBy(key, 10000).Result()
if err != nil {
panic(err)
}
}
fmt.Println(val)
}
```
这段代码使用了 Redis 的 INCRBY 命令,它可以将指定 key 的值增加指定的整数。如果 key 不存在,则会先将 key 的值设为 0,再进行自增。因此,我们可以通过判断 INCRBY 命令的返回值来确定 key 是否存在。如果返回值为 1,说明 key 不存在,则从 10000 开始自增。最后,输出自增后的值即可。