Создает новый экземпляр кэша.
Параметры:
cleanupInterval
- интервал автоматической очистки просроченных записейmaxSize
- максимальное количество записей (0 = без ограничений)
Возвращает:
- Указатель на новый экземпляр
Cache
Добавляет значение в кэш.
Параметры:
key
- ключ записиvalue
- значение для храненияttl
- время жизни записи (time-to-live)
Возвращаемые значения:
(true, "")
- при успешном добавлении(false, "max size")
- при достижении лимита размера
Особенности:
ttl = 0
- запись без времени жизни (хранится до явного удаления)
Получает значение из кэша.
Параметры:
key
- ключ для поиска
Возвращает:
string
- значениеbool
- существует ли ключ
Проверяет существование ключа в кэше.
Параметры:
key
- ключ для проверки
Возвращает:
true
- если ключ существует и не просроченfalse
- если ключ не найден или просрочен
Удаляет запись из кэша.
Параметры:
key
- ключ записи для удаления
Возвращает все ключи кэша.
Возвращает:
- Срез строк со всеми ключами (включая не просроченные)
Останавливает фоновую очистку кэша.
go test -run TestSetDelete
Проверяет добавление и удаления записи.
go test -run TestCacheExpiration
Проверяет удаление записи по истечение времени жизни записи.
go test -run TestMaxSize
Проверяет можно ли добавить запись больше задонного лимита.
go test -run TestKeys
Проверяет функцию получения ключей.
go test -run TestCacheConcurrent
Проверяет на состояние гонки.