安装Redis客户端
Go语言中使用第三方库https://github.com/go-redis/redis连接Redis数据库并进行操作。使用以下命令下载并安装:
go get github.com/go-redis/redis/v8注:导入时指定了版本v8,忽略版本是一个常见错误
连接redis
说明:Background返回一个非空的Context。 它永远不会被取消,没有值,也没有期限。 它通常在main函数,初始化和测试时使用,并用作传入请求的顶级上下文。
示例:
package main
import (
    "context"
    "fmt"
    "github.com/go-redis/redis/v8"
)
//Background返回一个非空的Context。 它永远不会被取消,没有值,也没有期限。 
//它通常在main函数,初始化和测试时使用,并用作传入请求的顶级上下文。
var ctx = context.Background()
func main() {
    rdb := redis.NewClient(&redis.Options{
        Addr:     "172.16.147.128:6379",
        Password: "",
        DB:       0,
    })
    pong, err := rdb.Ping(ctx).Result()
    if err != nil {
        fmt.Printf("连接redis出错,错误信息:%v", err)
    }
    fmt.Println("成功连接redis")
}基本指令
Set():设置
仅仅支持字符串(包含数字)操作,不支持内置数据编码功能。如果需要存储Go的非字符串类型,需要提前手动序列化,获取时再反序列化。
示例:
package main
import (
    "context"
    "fmt"
    "github.com/go-redis/redis/v8"
    "time"
)
var ctx = context.Background()
func main() {
    rdb := redis.NewClient(&redis.Options{
        Addr:     "172.16.147.128:6379",
        Password: "",
        DB:       0,
    })
    _, err := rdb.Ping(ctx).Result()
    //fmt.Println(pong, err)
    if err != nil {
        fmt.Printf("连接redis出错,错误信息:%v", err)
        return
    }
    //Set方法的最后一个参数表示过期时间,0表示永不过期
    err = rdb.Set(ctx, "key1", "value1", 0).Err()
    if err != nil {
        panic(err)
    }
    //key2将会在两分钟后过期失效
    err = rdb.Set(ctx, "key2", "value2", time.Minute * 2).Err()
    if err != nil {
        panic(err)
    }
} 我的书签
 我的书签
                                 添加书签
 添加书签 移除书签
 移除书签