Skip to content

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")

Xem thêm