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