其他分享
首页 > 其他分享> > Go实现简单的缓存过期功能

Go实现简单的缓存过期功能

作者:互联网

Go实现简单的数据缓存过期功能(类似Redis Expire)

package main

import (
	"fmt"
	"sync"
	"time"
)

// kV 存放数据的并发安全的map
var kV sync.Map

// Set 缓存过期功能实现 类Redis
func Set(key interface{}, value interface{}, exp time.Duration)  {

	kV.Store(key, value)
	time.AfterFunc(exp, func() {
		kV.Delete(key)
	})
}

func main() {
	
	// 设置id键值对 过期时间为5s
	Set("id", "1u2d3g", time.Second*5)
	// 过4s后查看数据存在
	time.Sleep(time.Second*4)
	fmt.Println(kV.Load("id"))
	// 过6s后查看数据已经不在了
	time.Sleep(time.Second*6)
	fmt.Println( kV.Load("id"))

}

标签:缓存,过期,fmt,kV,key,time,Go,id
来源: https://www.cnblogs.com/zjaiccn/p/15945312.html