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