Back to questions
VK
Middle
2
Что такое кеширование и зачем оно нужно?
Companies where asked
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)
}
}