Sobes.tech
Middle

Кэш деген эмне жана эмне үчүн керек?

sobes.tech AI

AIден жооп

Кеширүү — бул кымбат операциялардын (мисалы, эсептөөлөр, маалымат базасына суроолор же тышкы кызматтар) натыйжаларын тез жеткиликтүү кылуу үчүн сактоо процесси, ошондуктан кайра суроо келгенде, алдын ала даярдалган маалыматтарды колдонууга болот, операцияны кайра аткарбай.

Кеширүүнүн максаты:

  • Колдонмонун иштөө ылдамдыгын жакшыртуу, жооп убактысын кыскартуу.
  • Ресурстарга (БД, тармак, CPU) жүктөмдү азайтуу.
  • Жүйөнүн масштабдуулугун жогорулатуу.

Go тилинде кеширүү көбүнчө ички маалымат түзүмдөрү (карта) же атайын китепканалар аркылуу ишке ашырылат, мисалы, эс тутумдагы кеш үчүн. Жөнөкөй Go кешинин мисалы:

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("Кештеги мааниси:", val)
    }
}