Size: a a a

2020 June 22

DP

Daniel Podolsky in Go-go!
довольно трудно это сделать словами :)

давай я схему накидаю?
источник

RS

Roman Sharkov in Go-go!
Daniel Podolsky
довольно трудно это сделать словами :)

давай я схему накидаю?
ну как тебе удобнее)
источник

RS

Roman Sharkov in Go-go!
сонная википедия
я просто не очень понял вопрос
источник

RS

Roman Sharkov in Go-go!
в 2-25% случаев больше fetch чем надо было
источник

RC

Roman Covanyan in Go-go!
Roman Sharkov
есть идеи как избежать периодических лишних запросов из singleflight cache’а?

https://play.golang.org/p/GvERr07Giy6

оборачивать чтение в эксклюзивный Lock & Unlock не хочется ибо ударит по производительности чтения.

P.S.
в playground’е эффекта не добиться, только на многоядерке и то далеко не спервого раза. Иногда рамдомно случается по той причине что 2 горутины идут в cache miss
но одна успевает пройти fetch, а вторая его ещё даже не вызывает
повторно читать и проверять внутри lock-unlock
источник

RS

Roman Sharkov in Go-go!
Roman Covanyan
повторно читать и проверять внутри lock-unlock
всмсл? в каком месте повторно читать?
источник

RC

Roman Covanyan in Go-go!
читать из мапы
источник

с

сонная википедия... in Go-go!
проверять кеш уже в коллбеке видимо
источник

RC

Roman Covanyan in Go-go!
после Lock
источник

RS

Roman Sharkov in Go-go!
Roman Covanyan
после Lock
это значительно замедлит чтение
источник

RC

Roman Covanyan in Go-go!
нет
источник

RC

Roman Covanyan in Go-go!
rlock остается
источник

RC

Roman Covanyan in Go-go!
я про дублирование проверки на наличии в кэше
источник

RC

Roman Covanyan in Go-go!
дублируешь ее внутрь lock перед записью в мапу
источник

RC

Roman Covanyan in Go-go!
если два читателя успеют обнаружить отсутствие, то дальше ты их сериализуешь в части проверки на наличие в кэше
источник

RC

Roman Covanyan in Go-go!
повторной проверки
источник

с

сонная википедия... in Go-go!
какой смысл, fetch то все равно будет
источник

RC

Roman Covanyan in Go-go!
какой еще фетч
источник

RS

Roman Sharkov in Go-go!
Roman Covanyan
дублируешь ее внутрь lock перед записью в мапу
и в чём смысл?

запрос то всё-равно полетит
источник

с

сонная википедия... in Go-go!
Roman Covanyan
какой еще фетч
fetchFn который
источник