Junior — Middle
Önbakiyedeki verilerin güncellenmesinde kullanılan algoritmalara örnekler verebilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Önbellekteki verileri güncellerken, genellikle aşağıdaki algoritmalar kullanılır:
- Write-through: veriler aynı anda önbelleğe ve ana depolamaya yazılır.
- Write-back (Write-behind): veriler önce önbelleğe yazılır ve ana depolama güncellemesi daha sonra yapılır.
- Önbelle invalidasyonu: ana depoda veri değiştirildiğinde, önbellek eski hale getirilir ve sonraki istekte güncellenir.
- Time-to-live (TTL): önbellek, belirli bir süre sonra otomatik olarak güncellenir veya silinir.
Go dilinde TTL güncelleme örneği:
cache := make(map[string]CacheItem)
// CacheItem verileri ve sona erme zamanını içerir
type CacheItem struct {
Data interface{}
ExpiresAt time.Time
}
func GetFromCache(key string) (interface{}, bool) {
item, found := cache[key]
if !found || time.Now().After(item.ExpiresAt) {
return nil, false
}
return item.Data, true
}
func SetToCache(key string, data interface{}, duration time.Duration) {
cache[key] = CacheItem{Data: data, ExpiresAt: time.Now().Add(duration)}
}