sync.Map оптимизирован для двух паттернов: ключ записывается один раз и читается много (cache), или разные горутины работают с разными ключами (sharding). Внутри — два map: read (lock-free) и dirty (с локом). Для остальных случаев map+RWMutex быстрее. sync.Map не типизирован (interface{}), с Go 1.18 можно обернуть в generic.
Что такое sync.Map и когда он лучше map+Mutex?
Middle
144 просмотровAFK Offer AI
Какие библиотеки для работы с Redis в Go?