Maison >développement back-end >Golang >Le cache Golang est-il mondial ?
go-cache est un outil de mise en cache haute vitesse basé sur la mémoire qui stocke le format k-v. Il convient aux applications exécutées sur une seule machine, peut stocker des valeurs de tout type de données et peut être utilisé en toute sécurité par plusieurs goroutines. (Apprendre : aller
Bien que go-cache ne soit pas destiné à être utilisé comme magasin de données persistant, l'intégralité des données du cache peut être enregistrée dans un fichier (ou n'importe quel io.Reader/Writer ), et peut charger rapidement la source de données spécifiée à partir de celle-ci et restaurer rapidement l'état.Démo
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") } }
sortie
2019/02/05 17:49:32 found: Spring Festival 2019/02/05 17:50:32 sleep 60s… 2019/02/05 17:50:32 not foundTout d'abord, créez un nouveau cache avec le délai d'expiration de la clé de 30 secondes et effacez. clés expirées dans le cache toutes les 10 secondes. La suppression régulière des clés expirées dans le cache est mise en œuvre via une goroutine résidente. Ensuite, définissez une clé/valeur et son heure d'expiration. Le délai d'expiration utilise le délai d'expiration par défaut, qui est de 30 s. Récupérez cette clé, vous pouvez voir que cette clé existe dans le cache en ce moment. Veillez pendant 60 s pour expirer la clé que vous venez de définir. Récupérez à nouveau la clé. À ce moment, la clé a expiré, a été effacée et n'est plus dans le cache
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!