Залежить від того, що вам потрібно, загалом я думаю, що:
- Ви не повинні занадто дбати про виступи. Redis швидше на одне ядро з малими значеннями, але складований вміє використовувати декілька ядер з одним виконуваним і TCP-портом без допомоги клієнта. Також запам’ятовується швидше з великими значеннями порядку 100k. Нещодавно Redis значно покращив великі значення (нестабільна гілка), але все-таки запам'ятовується швидше в цьому випадку використання. Суть у цьому: ні один, ні інший, ймовірно, не стануть вашим вузьким місцем для запиту за секунду, який вони можуть доставити.
- Вам слід подбати про використання пам'яті. Для простих пар ключів і значень запам’ятовується ефективніше пам’яті. Якщо ви використовуєте хеди Redis, Redis є більш ефективною пам'яттю. Залежить від випадку використання.
- Вам слід подбати про стійкість та реплікацію, дві функції доступні лише у Redis. Навіть якщо ваша мета - створити кеш, це допоможе, що після оновлення або перезавантаження ваші дані все ще є.
- Вам слід подбати про необхідні вам операції. У Redis є багато складних операцій, навіть просто враховуючи випадок використання кешування, ви часто можете зробити набагато більше за одну операцію, не вимагаючи, щоб дані оброблялися на стороні клієнта (іноді потрібно багато вводу-виводу). Ці операції часто такі швидкі, як звичайні GET і SET. Тож якщо вам не потрібно лише GET / SET, але і більш складні речі, Redis може дуже допомогти (подумайте про кешування часової шкали).
Без випадку використання зараз важко вибрати, але я думаю, що для багатьох речей Redis має сенс, оскільки навіть коли ви не хочете використовувати його як БД, будучи набагато більш здатним, ви можете вирішити більше проблем, не просто кешування, але навіть обмін повідомленнями, ранжування тощо.
Звичайно, я міг би бути упередженим, оскільки я є головним розробником проекту Redis.