Хоча сьогодні 1 квітня, але цей пост не жартівливий. Чесне слово.
Півроку назад я спробував юзати базу даних Redis і написав на ній простенький блог - http://tutamc.com/node/201. По тих тестах я бачив що Redis швидка база, але так на практиці ніразу й не доводилося її заюзати.
Та тут мене як фрілансера знайшов один замовник і за "їжу" я написав скриптик, що використовував MySQL. Цей скрипт повинен був брати дані з різних сайтів і заносити їх в базу. Скрипт вийшов на декілька десятків рядків і в тестах нормально себе зарекомендував. Але на продакшин сервері я побачив таку сумну статистику:
MYSQL: count SQL query - 125984, time - 14606.3
Хоча запити були й прості, але через те що їх було більше 100 тисяч скрипт працював як бачимо 4 години. Спочатку думав над оптимізацією всієї роботи, та щось мені ліньки стало думати. І я просто заюзав Redis - змінивши в скрипті декілька рядків отримав таку стату:
REDIS: query - 125984, time - 109.3
Redis працював більше ніж в 100 раз швидше! При цьому не грузив проц навіть на 1 відсоток, і займав в оперативі лишень 30 Мб. Я просто в шоці! Гадав прискорення буде хай в 5 чи 10 раз, але не в 100. До того ж Redis запущений під Віндою і він там ще не оптимально працює, гадаю під Лінохом швидкість була б ще швидша.
Тож якщо в вас якийсь високонавантажений проект, то придивіться до Redis'а - http://code.google.com/p/redis/
PS: зборки Redis під Windows знаходяться тут - http://code.google.com/p/servicestack/wiki/RedisWindowsDownload
