go redis incr的使用
Posted BlingblingFu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go redis incr的使用相关的知识,希望对你有一定的参考价值。
声明:本文CSDN作者原创投稿文章,未经许可禁止任何形式的转载,原文链接
文章目录
可用版本: >= 1.0.0
时间复杂度: O(1)
为键 key
储存的数字值加上一。
如果键 key
不存在, 那么它的值会先被初始化为 0
, 然后再执行 INCR
命令。
如果键 key
储存的值不能被解释为数字, 那么 INCR
命令将返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
INCR
命令是一个针对字符串的操作。 因为 Redis 并没有专用的整数类型, 所以键key
储存的值在执行INCR
命令时会被解释为十进制 64 位有符号整数。
返回值
INCR
命令会返回键 key
在执行加一操作之后的值。
代码示例
使用redis驱动"github.com/go-redis/redis/v7"
重点:r.Do("INCR", "n").Result()
package main
import (
"fmt"
"github.com/go-redis/redis/v7"
"log"
)
func main()
redisIP, redisPort := "127.0.0.1", 6379
redisUsername, redisPasswd := "", "123456"
redisDbName := 0
r := connectRedis(redisIP, redisPort, redisUsername, redisPasswd, redisDbName)
_, err := r.Do("INCR", "n").Result()
if err != nil
log.Fatal(err)
func connectRedis(IP string, port int, username string, password string, db int) (rdb *redis.Client)
dbAddr := fmt.Sprintf("%s:%d", IP, port)
rdb = redis.NewClient(&redis.Options
Username: username,
Addr: dbAddr,
Password: password,
DB: db,
)
_, err := rdb.Ping().Result()
if err != nil
log.Fatal(err)
log.Println("Successfully connected to redis")
return
以上是关于go redis incr的使用的主要内容,如果未能解决你的问题,请参考以下文章