Как организовать кеширование при помощи redis?

Помогите пожалуйста понять правильно ли я понимаю организацию CRUD для не критически важных данных при помощи redis.

операция CREATE:
начало транзакции
	запись в postgres
	запись в redis
конец транзакции


операция READ:
читать из redis
если не прочиталось из redis, то:
	читать из postgres


операция UPDATE:
начало транзакции
	обновить в redis
	обновить в postgres
конец транзакции


операция DELETE:
начало транзакции
	удалить в redis
	удалить в postgres
конец транзакции


Как мне видится, это даёт некоторое преимущество в виде кеша, но не даёт особенного прироста в быстродействии.

Будет ли считаться хорошей практикой для не критически важных данных вообще не использовать реляционную БД, а использовать только redis? Всё таки там существует периодическое сохранение на диск, которым(сохранением) программист может управлять.
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 1
leahch
@leahch
3Д специалист. Долго, Дорого, Дерьмово.
Нет, у вас все неправильно! Во первых, у вас НЕТ транзакции и на постгрес и на редис одновременно, и это ключевой момент. Во вторых, всегда все обновления делайте в постгрес с удалением ключа из редиса. Чтение - сначала читаем из редиса, и если там нет, лезем в постгрес и записываем ключ в редис.
И да, если данные не критичны, типа счетчиков,, корзинок и т.д., то их можно хранить в редис.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы