Skip to content

K1flar/LRU-Cache

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

LRU Cache

Потокобезопасный менеджер кеша на основе LRU (Least Recently Used)

Установка

  1. Установка зависимости в вашу Go программу:
go get -u github.com/K1flar/LRU-Cache
  1. Подключение в коде:
import "github.com/K1flar/LRU-Cache/pkg/lru"

Алфавитный указатель

  1. func Cap
  2. func Delete
  3. func Exist
  4. func FlushAll
  5. func Get
  6. func Keys
  7. func Len
  8. func LoadJSON
  9. func New
  10. func Rename
  11. func Resize
  12. func SaveJSON
  13. func Set
  14. func Values

Функции

func Cap() int

Cap возвращает ёмкость кеша.

func Delete(key K) error

Delete удаляет элемент с ключём key.

func Exist(key K) bool

Exist проверяет на наличие элемент с ключём key.

func FlushAll() error

FlushAll очищает кеш.

func Get(key K) (value V, ok bool)

Get возвращает элемент с ключём key если он есть.

func Keys() []K

Keys возвращает все ключи в кеше.

func Len() int

Len возвращает количество элементов в кеше.

func LoadJSON(filePath string) error

LoadJSON загружает данные в формате JSON из файла filePath в кеш.

func New[K comparable, V any](cap int) *LRUCache

New создает кеш размером cap.

func Rename(key, newKey K) error

Rename изменяет ключ key на новый newKey у элемента.

func Resize(cap int) error

Resize изменяет размер кеша.

Если cap > ёмкости кеша - элементы копируются в новое хранилище.
Если cap = ёмкости кеша - ничего не меняется.
Елси cap < текущее количество элементов в кеше - в новое хранилище попадают только наиболее используемые элементы, остальные - урезаются.

func SaveJSON(filePath string) error

SaveJSON записывает данные из кеша в файл filePath в формате JSON.

func Set(key K, value V) 

Set устанавливает новое значение элементу с ключем key или создает элемент, если его нет.

func Values() []V

Values возвращает все элементы кеша.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages