我正在使用 go-redis 并尝试对我正在做的 Set 设置过期时间。
文档中的示例显示 -
func ExampleClient_Set() {
// Last argument is expiration. Zero means the key has no
// expiration time.
err := rdb.Set("key", "value", 0).Err()
if err != nil {
panic(err)
}
// key2 will expire in an hour.
err = rdb.Set("key2", "value", time.Hour).Err()
if err != nil {
panic(err)
}
}
从我可以从time文档中收集到的内容(https://golang.org/pkg/time/),time.Hour应该返回“Hour 返回 t 指定的一天内的小时,范围为 [0, 23]。 ”,这将使到期值根据代码运行的时间而有所不同......我确信这不是他们想要的,而且我确信编写模块的人更了解 Go比我,我无法想象这就是它的实际作用。
被难住了,我阅读了 Set 的 go-redis 代码(https://github.com/go-redis/redis/blob/0658532833205c238a41687728cb13c294504162/commands.go#L839),它看起来需要几秒钟,除非你有什么设置,然后它需要毫秒,所以我通过了它120,它在第一次运行时花了一个废话说“你要求 120ns,但最小值是 1ms”......我添加了一堆零,它几乎很快就过期了正如我所做的那样Set,所以我最终放弃了,只是决定寻求一些帮助以正确地完成它,而不是在我想要的每个值上添加一堆零并希望它正常工作。
我现在有时间。分钟-基于示例,我假设这给了我一分钟,但我实际上想要两个,并且在阅读了所有这些并尝试了所有这些事情之后,我不知道如何实现这一目标。非常感谢您的帮助!
饮歌长啸
慕虎7371278
喵喔喔
天涯尽头无女友
随时随地看视频慕课网APP
相关分类