Middle
Kesh nima va nima uchun kerak?
sobes.tech AI
AIdan javob
Xotira saqlash — bu qimmatli operatsiyalar (masalan, hisoblashlar, ma'lumotlar bazasiga so'rovlar yoki tashqi xizmatlar) natijalarini tezkor kirish uchun saqlash jarayonidir, shunda takroriy so'rovda allaqachon tayyorlangan ma'lumotlar ishlatiladi, operatsiyani qayta bajarish o'rniga.
Xotira saqlashning maqsadi:
- Ilovaning ishlashini tezlashtirish, javob vaqtini qisqartirish.
- Resurslarga (ma'lumotlar bazasi, tarmoq, CPU) bo'lgan yukni kamaytirish.
- Tizimning kengaytirilishini yaxshilash.
Go tilida, xotira saqlash odatda ichki ma'lumot tuzilmalaridan (map) yoki maxsus kutubxonalardan foydalanib amalga oshiriladi, masalan, xotira ichidagi cache uchun. Oddiy Go cache misoli:
package main
import (
"fmt"
"sync"
"time"
)
type Cache struct {
mu sync.Mutex
store map[string]string
}
func NewCache() *Cache {
return &Cache{store: make(map[string]string)}
}
func (c *Cache) Get(key string) (string, bool) {
c.mu.Lock()
defer c.mu.Unlock()
val, ok := c.store[key]
return val, ok
}
func (c *Cache) Set(key, value string) {
c.mu.Lock()
defer c.mu.Unlock()
c.store[key] = value
}
func main() {
cache := NewCache()
cache.Set("time", time.Now().String())
if val, ok := cache.Get("time"); ok {
fmt.Println("Xotira qiymati:", val)
}
}