2018-09-17 09:52:24 +08:00
|
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
2019-04-03 00:03:46 +08:00
|
|
|
|
"fmt"
|
|
|
|
|
|
"time"
|
2019-07-29 21:01:19 +08:00
|
|
|
|
|
|
|
|
|
|
"github.com/gogf/gf/os/gcache"
|
2018-09-17 09:52:24 +08:00
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
func main() {
|
2019-04-03 00:03:46 +08:00
|
|
|
|
// 当键名不存在时写入,设置过期时间1000毫秒
|
|
|
|
|
|
gcache.SetIfNotExist("k1", "v1", 1000)
|
2018-09-17 09:52:24 +08:00
|
|
|
|
|
2019-04-03 00:03:46 +08:00
|
|
|
|
// 打印当前的键名列表
|
|
|
|
|
|
fmt.Println(gcache.Keys())
|
2018-09-17 09:52:24 +08:00
|
|
|
|
|
2019-04-03 00:03:46 +08:00
|
|
|
|
// 打印当前的键值列表
|
|
|
|
|
|
fmt.Println(gcache.Values())
|
2018-09-17 09:52:24 +08:00
|
|
|
|
|
2019-04-03 00:03:46 +08:00
|
|
|
|
// 获取指定键值,如果不存在时写入,并返回键值
|
|
|
|
|
|
fmt.Println(gcache.GetOrSet("k2", "v2", 0))
|
2018-09-17 09:52:24 +08:00
|
|
|
|
|
2019-04-03 00:03:46 +08:00
|
|
|
|
// 打印当前的键值对
|
|
|
|
|
|
fmt.Println(gcache.Data())
|
2018-09-17 09:52:24 +08:00
|
|
|
|
|
2019-04-03 00:03:46 +08:00
|
|
|
|
// 等待1秒,以便k1:v1自动过期
|
|
|
|
|
|
time.Sleep(time.Second)
|
2018-09-17 09:52:24 +08:00
|
|
|
|
|
2019-04-03 00:03:46 +08:00
|
|
|
|
// 再次打印当前的键值对,发现k1:v1已经过期,只剩下k2:v2
|
|
|
|
|
|
fmt.Println(gcache.Data())
|
|
|
|
|
|
}
|