Встроенная в память библиотека K/V кэша и кольцевого буфера с наименьшим недавним использованием (LRU). Просто ради забавы!
Этот пакет предоставляет простой кэш ключ-значение в памяти и кольцевой буфер с наименьшим недавним использованием (LRU).
Он основан на реализации кэша ключ-значение в go-cache и реализации кольцевого буфера с наименьшим недавним использованием (LRU) в groupcache.
Установите go-cache с помощью команды go get
:
go get github.com/maemual/go-cache
Ключ-значение кэша:
package main
import (
"fmt"
"github.com/maemual/go-cache"
)
func main() {
c := cache.New(0, 0)
c.Set("1", 1111, 0)
val, found := c.Get("1")
if found {
fmt.Println(val)
}
c.Increment("1", 1)
val, found = c.Get("1")
if found {
fmt.Println(val)
}
}
Кольцевой буфер с наименьшим недавним использованием (LRU):
package main
import (
"fmt"
"github.com/maemual/go-cache"
)
func main() {
lru, err := cache.NewLRU(3)
if err != nil {
fmt.Println(err)
}
lru.Add("1", 1111)
lru.Add("2", 2222)
lru.Add("3", 3333)
lru.Add("4", 4444)
_, hit := lru.Get("1")
if hit {
fmt.Println("Попадание ключа 1")
} else {
fmt.Println("Не попало ключ 1")
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )