Как архитектурно организовать поисковый микросервис на golang?
Redis как кэш актуален для "одноядерных" языков вроде node/python/php. Там большие проблемы с многопоточным доступом к памяти, поэтому вместо памяти используют key-value (memcached еще вспомнить можно). А если у вас голанг - так зачем редис? Воспользуйтесь кэшом в памяти, всё еще на порядок быстрее работать станет за счет отсутствия сетевых взаимодействий на кэш-хитах.
Все верно. Самая обычная практика.
Только вместо Redis можно и Memcached (быстрее). https://medium.com/@Alibaba_Cloud/redis-vs-memcach...
Использовать in-memory k/v хранилище как советует Сергей Тихонов так же можно, однако в таком случае при перезапуске сервиса (ошибки и т.д.) потеряются данные в кэше и уйдет время на разогрев кэша.