扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

golang cache缁勪欢鎬庝箞浣跨敤

扬州沐宇科技
2023-11-07 13:11:46
golang

浣跨敤Go璇█鐨凜ache缁勪欢鍙互甯姪鎴戜滑鎻愰珮鏁版嵁鐨勮闂€熷害锛屼互涓嬫槸涓€浜涘父鐢ㄧ殑Golang Cache缁勪欢鍜屼娇鐢ㄧず渚嬶細

  1. sync.Map锛欸o璇█鏍囧噯搴撲腑鎻愪緵鐨?code>sync鍖呬腑鐨?code>Map绫诲瀷鍙互鐢ㄤ綔绠€鍗曠殑缂撳瓨銆備娇鐢?code>sync.Map鏃讹紝鍙互浣跨敤Load()鏂规硶鑾峰彇缂撳瓨鍊硷紝浣跨敤Store()鏂规硶璁剧疆缂撳瓨鍊笺€傜ず渚嬩唬鐮佸涓嬶細
import (
    "sync"
)

var cache sync.Map

func main() {
    cache.Store("key", "value")

    val, ok := cache.Load("key")
    if ok {
        fmt.Println(val)
    }
}
  1. go-cache锛?code>go-cache鏄竴涓畝鍗曟槗鐢ㄧ殑鍐呭瓨缂撳瓨搴擄紝鎻愪緵浜嗕竴浜涘父鐢ㄧ殑缂撳瓨鎿嶄綔鏂规硶銆傚彲浠ヤ娇鐢?code>Set()鏂规硶璁剧疆缂撳瓨鍊硷紝浣跨敤Get()鏂规硶鑾峰彇缂撳瓨鍊笺€傜ず渚嬩唬鐮佸涓嬶細
import (
    "github.com/patrickmn/go-cache"
    "time"
)

func main() {
    c := cache.New(5*time.Minute, 10*time.Minute)

    c.Set("key", "value", cache.DefaultExpiration)

    val, found := c.Get("key")
    if found {
        fmt.Println(val)
    }
}
  1. groupcache锛?code>groupcache鏄疓o璇█缂撳瓨搴擄紝閫傜敤浜庡垎甯冨紡绯荤粺涓殑缂撳瓨銆傚彲浠ヤ娇鐢ㄥ叾Get()鏂规硶鑾峰彇缂撳瓨鍊硷紝濡傛灉缂撳瓨鍊间笉瀛樺湪鏃讹紝鍙互浣跨敤Load()鏂规硶浠庢寚瀹氱殑鏁版嵁婧愬姞杞芥暟鎹苟璁剧疆缂撳瓨銆傜ず渚嬩唬鐮佸涓嬶細
import (
    "github.com/golang/groupcache"
    "log"
)

func main() {
    var cache groupcache.Cache

    value := new(string)
    err := cache.Get(nil, "key", groupcache.StringSink(value))
    if err != nil {
        log.Println(err)
    }

    fmt.Println(*value)
}

浠ヤ笂鏄笁涓父鐢ㄧ殑Golang Cache缁勪欢鍜屼娇鐢ㄧず渚嬶紝鍙互鏍规嵁鑷繁鐨勯渶姹傞€夋嫨鍚堥€傜殑缁勪欢杩涜浣跨敤銆?/p>

扫码添加客服微信