当前位置:   article > 正文

golang go-redis incr用法及过期时间设置_incr redis golang

incr redis golang

go-redis库设置incr 过期时间使用Multi/exec,Redis是单线程的,因此单个命令始终是原子的,但是来自不同客户端的两个给定命令可以依次执行,例如在它们之间交替执行。但是,Multi/exec能够确保在multi/exec两个语句之间的命令之间没有其他客户端正在执行命令。

package main

import (
	"fmt"
	"github.com/go-redis/redis"
	_ "github.com/jinzhu/gorm/dialects/mysql"
	"time"
)


var rdb *redis.Client

func main(){
	rdb = redis.NewClient(&redis.Options{
		Addr:     "localhost:6379",
		Password: "", // no password set
		DB:       0,  // use default DB
	})

	_,err := rdb.Ping().Result()
	if err != nil {
		fmt.Println(err)
	}
	pipe := rdb.TxPipeline()
	incr := pipe.Incr("key")
	pipe.Expire("key", time.Hour)
	_, exer := pipe.Exec()
	if exer != nil {
		fmt.Println(exer)
	}
	fmt.Println(incr.Val())
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/685093
推荐阅读
相关标签
  

闽ICP备14008679号