Golang基礎学習-redis使用

3642 ワード

Golang基礎学習-redis使用


1.開発環境

  OS: MAC  
docker  : 19.03.5  
Golang  : go version go1.13.4 darwin/amd64  
redis  : redis:lastest

2.redisのインストール


dockerとgolangはすでに事前にインストールされています。 スタンドアロンredis
  • docker pull redis:latest
  • docker run --name redisserver -d -p 6379:6379 -v Users/Keil/data:/data redis redis-server --appendonly yes

  • /Users/Keil/data:データを格納するディレクトリで、実際には自分の開発環境に基づいてテストできます。 -p 6379:6379ポートをマッピングし、開発機がlinuxの場合は--network=「host」で置き換えることができます。

    3.redisのパッケージを導入する

  • go get -u github.com/go-redis/redis

  • 4.redisの一般的な方法


    ###4.1初期化
    var (  
       RedisIp    = "127.0.0.1"
       RedisPort  = "6379" 
       expireTime = 600
       rdb  *redis.Client
    )
    
    rdb = redis.NewClient(&redis.Options{ Addr: RedisIp + ":" + RedisPort, Password: "", }) 
        _, err := rdb.Ping().Result() 
       if err != nil {
           fmt.Println("redis    ")
    }

    4.2 string操作


    4.2.1 keyが存在するかどうかを判断する
        a, err := rdb.Exists("ming").Result() 
        if err != nil {
            fmt.Println("  key    ")
            return 
        } 
        if a == 1 { 
            fmt.Println("key  ") 
        }  

    4.2.2保存key
    err = rdb.Set("ming", "ming", time.Duration(expireTime)*time.Second).Err()
    if err != nil { 
        fmt.Println("  key  ") 
        return 
    }

    4.2.3 keyを取得する
    value, err := rdb.Get("ming").Result() 
    if err != nil { 
       fmt.Println("  key  ") 
       return
    } 
    fmt.Println(value)  

    4.2.4有効期限の設定
    err = rdb.Expire("ming", time.Duration(300)*time.Second).Err()
    if err != nil {
       fmt.Println("      ") 
       return
    }  

    ###4.3ハッシュ
    4.3.1 hashの設定
    status, err := rdb.HSet("ming1", "id", "12313").Result()  
    if err != nil {  
       fmt.Println("err:redis    ")  
       return  
    }  
    if true == status {  
       fmt.Println("    ")  
    } else {  
       fmt.Println("    ")  
    }  

    4.3.2 keyの取得
    key, err := rdb.HGet("ming1", "id").Result()  
    if err != nil {  
       fmt.Println("     ")  
       return  
    }  
    fmt.Println(key)  

    4.3.3 hash中、値が存在するか否かを判断する
    status, _ = rdb.HExists("ming1", "id").Result()  
    if true == status {  
       fmt.Println("    ")  
    } else {  
       fmt.Println("    ")  
    }  

    4.3.4. hashの値を削除
    statusDel, err := rdb.HDel("ming1", "id").Result()  
    if err != nil {  
      fmt.Println("err:redis    ")  
      return  
    }  
    if 1 == statusDel {  
      fmt.Println("  hash :id  ")  
    }  

    4.4.4 keyの削除
    statusDel, err = rdb.Del("ming").Result()  
    if 1 == statusDel {  
       fmt.Println("     ")  
    }

    5リファレンス


    go-redis dockerhub-redis 完全なプレゼンテーションコード-redis