redigo库来实现redis的操作:https://github.com/gomodule/redigo

 

Redis常用操作 

示例代码:

package main

import (
    "github.com/gomodule/redigo/redis"
    "fmt"
    "time"
)

func initRedis() (dial redis.Conn, err error) {
    dial, err = redis.Dial("tcp", "172.16.65.183:30001")
    if err != nil {
        panic(err)
    }
    return dial, nil
}


func testSetGet(dial redis.Conn) {
    // 设置一个Key和value
    dial.Do("set", "abc", "this is a test")

    // 设置过期时间
    dial.Do("expire", "abc", 2)
    
    // 读取指定key的value
    reply, err := dial.Do("get", "abc")
    str, err := redis.String(reply, err)
    if err != nil {
        panic(err)
    }
    fmt.Println(str)
}

func testHSetGet(dial redis.Conn) {
    key := "abc"
    value := "this is a book test"

    // 设置一个hash表来存储
    reply, err := dial.Do("hset", "books", key, value)
    if err != nil {
        panic(err)
    }
    fmt.Println(reply)
    reply2, err := dial.Do("hget", "books", key)
    str, err := redis.String(reply2, err)
    if err != nil {
        panic(err)
    }
    fmt.Println(str)
}

func testMSetGet(dial redis.Conn) {
    key := "abc"
    value := "this is a test book"
    key2 := "golang"
    value2 := "this is a golang book"
    
    // 一次设置多个key
    dial.Do("mset", "books", key, value, key2, value2)
    str, err := redis.Strings(dial.Do("mget", "books",key, key2))
    if err != nil {
        panic(err)
    }
    fmt.Println(str)
}



func main() {
    dial, _ := initRedis()
    testSetGet(dial)
    testHSetGet(dial)
    testMSetGet(dial)

    time.Sleep(4 * time.Second)
    reply, err := dial.Do("get", "abc")
    str, err := redis.String(reply, err)
    if err != nil {
        panic(err)
    }
    fmt.Println("get abc", str)

    defer dial.Close()
}
View Code

相关文章:

  • 2022-02-02
  • 2021-10-04
  • 2022-12-23
  • 2021-07-13
  • 2022-12-23
  • 2021-05-21
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-08-12
  • 2021-09-11
  • 2022-12-23
  • 2021-12-19
  • 2022-12-23
  • 2021-06-13
  • 2021-09-15
相关资源
相似解决方案