扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

golang cache缂撳瓨鎬庝箞瀹炵幇

扬州沐宇科技
2023-10-31 15:58:19
golang

鍦℅o璇█涓紝瀹炵幇缂撳瓨鍙互浣跨敤浠ヤ笅涓ょ鏂瑰紡锛?/p>

  1. 浣跨敤sync.Map瀹炵幇缂撳瓨锛?code>sync.Map鏄疓o璇█鎻愪緵鐨勫苟鍙戝畨鍏ㄧ殑map锛屽彲浠ョ敤浜庡疄鐜扮紦瀛樸€傚彲浠ヤ娇鐢?code>sync.Map鐨?code>Load鍜?code>Store鏂规硶鏉ヨ幏鍙栧拰瀛樺偍缂撳瓨鏁版嵁銆?/li>
package main

import (
	"fmt"
	"sync"
)

func main() {
	cache := sync.Map{}

	// 瀛樺偍缂撳瓨鏁版嵁
	cache.Store("key1", "value1")

	// 鑾峰彇缂撳瓨鏁版嵁
	value, ok := cache.Load("key1")
	if ok {
		fmt.Println(value)
	}
}
  1. 浣跨敤绗笁鏂圭紦瀛樺簱瀹炵幇缂撳瓨锛欸o璇█鏈夎澶氭垚鐔熺殑绗笁鏂圭紦瀛樺簱鍙互浣跨敤锛屽go-cache銆?code>bigcache绛夈€傝繖浜涘簱鎻愪緵浜嗘洿澶氱殑缂撳瓨鐗规€э紝濡傝繃鏈熸椂闂淬€丩RU绠楁硶绛夈€?/li>
package main

import (
	"fmt"
	"github.com/patrickmn/go-cache"
	"time"
)

func main() {
	// 鍒涘缓缂撳瓨瀵硅薄
	c := cache.New(5*time.Minute, 10*time.Minute)

	// 瀛樺偍缂撳瓨鏁版嵁
	c.Set("key1", "value1", cache.DefaultExpiration)

	// 鑾峰彇缂撳瓨鏁版嵁
	value, found := c.Get("key1")
	if found {
		fmt.Println(value)
	}
}

鏃犺浣跨敤鍝鏂瑰紡瀹炵幇缂撳瓨锛岄兘闇€瑕佹敞鎰忕紦瀛樼殑骞跺彂瀹夊叏鎬у拰缂撳瓨鐨勫け鏁堢瓥鐣ワ紝浠ヤ繚璇佹暟鎹殑涓€鑷存€у拰鍙敤鎬с€?/p>

扫码添加客服微信