美文网首页
golang-redis(1)

golang-redis(1)

作者: liziNo1 | 来源:发表于2021-08-30 20:20 被阅读0次

    一、redis连接

    引入包"github.com/go-redis/redis/v8"

    var(

    redisInstance *redis.Client

    )

    func init() {

    redisI :=redis.NewClient(&redis.Options{

    Addr:“http://192.168.90.86:6379”,

          Password:"123456", // 设置密码

          DB:0,  // use default DB

      })

    redisInstance = redisI

    }

    func GetRedis() *redis.Client{

         return redisInstance

    }

    二、redis,string类型存取

    var ctx = context.TODO()

    /**

    * 判断key是否存在

    */

    func RedisExists(keystring) (bool,error) {

        client :=conn.GetRedis()

        if client !=nil{

            r,err := client.Exists(ctx,key).Result()

           if err ==nil {

                if r ==1 {

                        return true, nil

                }else{

                    return false, nil

                 }

            }

    }

        return false, errors.New("查询key失败")

    }

    /**

    * redis设置值

    */

    func SetRedisCache(keystring,valueinterface{},durationtime.Duration)error {

    client :=conn.GetRedis()

    if client !=nil{

    _,err := client.Set(ctx,key,value,duration).Result()

    return err

    }else{

    return errors.New("redis连接失败")

    }

    }

    /**

    * redis获取值

    */

    func GetRedisCache(keystring) (interface{},error) {

    client :=conn.GetRedis()

    if client !=nil{

        r,err := client.Get(ctx,key).Result()

        if err ==redis.Nil {

            return nil,nil

          }else if err !=nil {

            return nil,err

           }else {

                return r,nil

          }

        }else{

                return nil,errors.New("redis连接失败")

        }

    }

    /**

    * 移除

    */

    func ClearRedisCache(keystring)  {

            client :=conn.GetRedis()

            if client !=nil{

                client.Move(ctx,key,0)

            }    

    }

    三、docker启动redis

    拉取镜像
    docker pull redis:latest

    //docker启动redis镜像

    docker run --name my_redis -p 6379:6379 -d --restart=always redis:latest redis-server --appendonly yes --requirepass "123456"

    //测试

    redis-cli -h 192.168.90.86 -p 6379

    10.249.91.86:6379> set text1 2

    (error) NOAUTH Authentication required.

    192.168.90.86:6379> auth 123456

    OK

    192.168.90.86:6379> set text1 2

    OK

    192.168.90.86:6379> keys *

    1) "text1"

    2) "text"

    10.249.91.86:6379> 

    相关文章

      网友评论

          本文标题:golang-redis(1)

          本文链接:https://www.haomeiwen.com/subject/zlioiltx.html