Bộ nhớ đệm
Tổng quan
Fountain cung cấp các cài đặt cache dưới libs/cache, từ chính sách eviction trong bộ nhớ đến cache phân tán Redis-backed.
Các cache hiện có:
redis_cache— cache phân tán dùng Redis làm backend.memcache— cache dùng Memcached làm backend.memory_cache— cache trong bộ nhớ tiến trình (in-process).lru_cache— cache LRU (Least-Recently-Used) trong bộ nhớ.lfu_cache— cache LFU (Least-Frequently-Used) trong bộ nhớ.arc_cache— cache ARC (Adaptive Replacement Cache).slru_cache— cache Segmented LRU.buntdb— store trong bộ nhớ BuntDB.file_cache— cache lưu trên tệp tin.
Mẫu sử dụng
go
import "gitlab.soludian.com/soludian/fountain/libs/cache/redis_cache"
// Cài đặt Redis cache từ config key "cache.default"
cache := redis_cache.WithConfigKey("cache.default").InstallFountainInstance()
// Lưu giá trị vào cache với TTL 10 phút
cache.Set(ctx, "key", value, 10*time.Minute)
// Lấy giá trị từ cache
val, err := cache.Get(ctx, "key")