|
|
- package redis
-
- import (
- "errors"
-
- redisdb "github.com/gomodule/redigo/redis"
- )
-
- //取值
- func Get(key string) (string, error) {
- c := pool.Get()
- defer c.Close()
-
- return redisdb.String(c.Do("get", key))
- }
-
- /*
- * 存值,
- * args,范围(key, value)或(key, value,expire)
- * 2020/06/06
- */
- func Set(args ...interface{}) (interface{}, error) {
- c := pool.Get()
- defer c.Close()
- if len(args) < 2 {
- return nil, errors.New("参数错误,至少需两个参数")
- }
- var err error
- var reply interface{}
- if len(args) > 2 {
- reply, err = c.Do("SET", args[0], args[1], "EX", args[2]) //设置过期时间
- } else {
- reply, err = c.Do("SET", args[0], args[1])
- }
- return reply, err
- }
-
- /**
- * 删除key
- */
- func Del(key string) (int,error){
- c := pool.Get()
- defer c.Close()
- var err error
- var reply interface{}
- reply, err = c.Do("DEL", key)
- return redisdb.Int(reply, err)
- }
-
- /**
- * 设锁
- * 2020/01/15
- */
- func SetLock(args ...interface{}) (bool,error){
- c := pool.Get()
- defer c.Close()
- if len(args) < 2 {
- return false, errors.New("参数错误,至少需两个参数")
- }
- var err error
- var result interface{}
- if len(args) > 2 {
- result, err = c.Do("SETNX", args[0], args[1], "EX", args[2]) //设置过期时间
- } else {
- result, err = c.Do("SETNX", args[0], args[1])
- }
-
- if err != nil{
- return false,err
- }
-
- if result.(int) == 1{
- return true, nil
- } else{
- return false, nil
- }
- }
|