如何使用 redigo 设置 redis 密钥超时?

Kar*_*lom 4 go redis redigo

我想为 redis 键/值对添加超时,以便它们在 10 分钟后过期。

这是函数

func setData(value string) {
    conn, err := redis.Dial("tcp", "localhost:6379", redis.DialDatabase(1))
    if err != nil {
        log.Fatalf("Could not connect: %v\n", err)
    }
    defer conn.Close()

    conn.Do("SET", "mykey", value)
}
Run Code Online (Sandbox Code Playgroud)

我希望 redigo 这样做:

redis 127.0.0.1:6379> SETEX "mykey" 600 value
Run Code Online (Sandbox Code Playgroud)

我想知道如何在 redigo 中实现这一点?

我查看了文档示例,但不知道该怎么做

hel*_*ert 6

Conn结构体的Do方法,所接受的命令的名称,和任意参数的列表(类型...interface{})。

您可以使用这些参数来传递您也可以使用 Redis CLI 传递的任何类型的参数:

conn.Do("SETEX", "mykey", 600, value)
Run Code Online (Sandbox Code Playgroud)

另外,请查看文档中的“执行命令”部分以获取更多信息。