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"))

}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM