Какие плюсы и минусы In-Memory Map

«Какие плюсы и минусы In-Memory Map» — вопрос из категории Базы данных, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Плюсы:

  • Высокая скорость доступа (O(1) для вставки, удаления, поиска)
  • Простота использования (встроенный тип в Go)
  • Гибкость (может хранить любые типы в качестве ключа/значения)
  • Подходит для кэширования и временного хранения данных

Минусы:

  • Потребляет оперативную память (не подходит для больших объемов данных)
  • Нет persistence (данные теряются при перезапуске)
  • Не потокобезопасен (нужно использовать sync.Mutex или sync.Map)
  • Нет встроенных возможностей сортировки
// Пример использования с мьютексом
var (
    cache = make(map[string]string)
    mu    sync.Mutex
)

func Set(key, value string) {
    mu.Lock()
    defer mu.Unlock()
    cache[key] = value
}