Sobes.tech
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)
    }
}