zoukankan      html  css  js  c++  java
  • golang Redis运用

    go mod init

    go get  github.com/go-redis/redis

    package main
    
    import (
        "encoding/json"
        "fmt"
        "github.com/go-redis/redis"
        "time"
    )
    
    // 定时任务Task 执行代码
    func  init() {
        lockKey := "task:test:mytest"
        client := GetRedisClient()
        defer client.Close()
        lockRes := client.SetNX(lockKey, time.Now().Unix(), time.Minute*1).Val()
        if !lockRes {
            return
        }
        defer client.Del(lockKey)
        // 下面执行任务代码
        // service := services.func{}
    }
    
    
    // 连接redis服务器 并返回客户端连接对像
    func GetRedisClient() *redis.Client{
        client := redis.NewClient(&redis.Options{
            Addr:     "127.0.0.1:6379",
            Password: "", // no password set
            DB:       0,  // use default DB
        })
        _, err := client.Ping().Result()
        if err != nil {
            panic(err)
        }
        return client
    }
    
    type Person struct {
        Name string
        Age int
    }
    
    func main(){
        client :=GetRedisClient()  // 获取客户端连接对像
        defer client.Close()
        // 设置值
        err:= client.Set("myName","Lyh",0).Err()
        if err!=nil{
            fmt.Println("redis存值出错",err)
        }
        // 获取值
        myName,err:=client.Get("myName").Result()
        if err!=nil{
            fmt.Println("redis取值出错",err)
        }
        fmt.Println("值:",myName)
        // 删除Key
        client.Del("myName")
        //  操作Hash
        var p Person
        p.Name="中国张三"
        p.Age=10
        strP,err:= json.Marshal(p)
        //  HSet  设置Hash的值
        err = client.HSet("personAll","chinses",strP).Err()
        if err!=nil{
            fmt.Println("中国张三有问题",err)
        }
        // HGet 获取Hash的值
        v:= client.HGet("personAll","chinses").Val()
        fmt.Println("redis的Hash值:",v)
        // 删除hash
        client.HDel("personAll","chinses")
    
    }
  • 相关阅读:
    《父亲写的散文诗》--许飞
    python 解数独
    github key already in use
    openwrt ddns绑定域名
    hexo 长期后台运行
    修复云服务器rpm无法使用的问题
    vim 取消筛选高亮
    力扣 2021.02.25 最长公共前缀
    [模板]-Manacher
    背包问题回顾
  • 原文地址:https://www.cnblogs.com/yingger/p/13324271.html
Copyright © 2011-2022 走看看