Sobes.tech
Back to questions
Middle
2

Что такое кеширование и зачем оно нужно?

Companies where asked
VKVK

Answer from AI

sobes.tech AI

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

Зачем нужно кеширование:

  • Ускоряет работу приложения, снижая время отклика.
  • Снижает нагрузку на ресурсы (БД, сеть, CPU).
  • Повышает масштабируемость системы.

В Go кеширование часто реализуют с помощью встроенных структур данных (map) или специализированных библиотек, например, для in-memory кеша. Пример простого кеша на 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("Cached value:", val)
    }
}