Heim  >  Artikel  >  Backend-Entwicklung  >  Ist Golang-Cache global?

Ist Golang-Cache global?

(*-*)浩
(*-*)浩Original
2019-12-13 11:37:513724Durchsuche

Ist Golang-Cache global?

go-cache ist ein speicherbasiertes Hochgeschwindigkeits-Caching-Tool, das das K-V-Format speichert. Es eignet sich für Anwendungen, die auf einem einzelnen Computer ausgeführt werden, kann Werte jedes Datentyps speichern und kann von mehreren Goroutinen sicher verwendet werden. (Empfohlenes Lernen: GO )

Obwohl Go-Cache nicht beabsichtigt, es zur dauerhaften Datenspeicherung zu verwenden, kann es die gesamten Cache-Daten in der Datei (bzw (jeder IO.Reader/Writer) und kann die angegebene Datenquelle schnell daraus laden und den Status schnell wiederherstellen.

Demo

package main

import (
        "log"
        "time"

        "github.com/patrickmn/go-cache"
)


func main(){

        c := cache.New(30*time.Second, 10*time.Second)


        c.Set("Title", "Spring Festival", cache.DefaultExpiration)


        value, found := c.Get("Title")
        if found {
                log.Println("found:", value)
        } else {
                log.Println("not found")
        }


        time.Sleep(60*time.Second)
        log.Println("sleep 60s...")
        value, found = c.Get("Title")
        if found {
                log.Println("found:", value)
        } else {
                log.Println("not found")
        }

}

Ausgabe

2019/02/05 17:49:32 found: Spring Festival
2019/02/05 17:50:32 sleep 60s…
2019/02/05 17:50:32 not found

Erstellen Sie zunächst einen neuen Cache mit der Schlüsselablaufzeit von 30 Sekunden Alle 10 Sekunden werden abgelaufene Schlüssel im Cache abgelegt.

Das regelmäßige Löschen abgelaufener Schlüssel im Cache wird durch eine residente Goroutine implementiert.

Als nächstes legen Sie einen Schlüssel/Wert und dessen Ablaufzeit fest. Die Ablaufzeit verwendet die Standardablaufzeit, die 30 Sekunden beträgt.

Holen Sie sich diesen Schlüssel. Sie können sehen, dass dieser Schlüssel zu diesem Zeitpunkt im Cache vorhanden ist.

60 Sekunden lang schlafen, damit der gerade eingestellte Schlüssel abläuft.

Holen Sie sich den Schlüssel erneut. Zu diesem Zeitpunkt ist der Schlüssel abgelaufen, wurde gelöscht und befindet sich nicht mehr im Cache

Das obige ist der detaillierte Inhalt vonIst Golang-Cache global?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn