В сети можно встретить много материалов, утверждающих, что Postgres может заменить Redis во многих случаях. В данной статье я изучаю, как Postgres справляется с задачами кэширования, используя его вместо Redis. Для этого я создал простой HTTP-сервер, который работает с данными из кэша. Эксперимент проходил на кластере k8s, где Redis и Postgres были запущены на разных узлах с ограниченными ресурсами.
Я реализовал кэш для Redis с помощью библиотеки go-redis и для Postgres, используя pgx. Затем я заполнил оба кэша 30 миллионами записей и протестировал их производительность на получение и установку данных. Результаты показали, что Redis значительно опережает Postgres как по времени отклика, так и по загрузке ресурсов.
Несмотря на это, я все же предпочту использовать Postgres из-за его интеграции с базами данных и возможности легко управлять сроками действия ключей без добавления дополнительных зависимостей. Такой подход обеспечивает достаточно высокую производительность для большинства проектов, что делает его приемлемым выбором для кэширования.
