Когда админы спросили надо ли нам обновлять редис до 2.0 я сначала хотел спросить зачем нам релиз кандидат. Но потом все же полез посмотреть. Какая радость все-таки.
Я трижды извиняюсь за глупый вопрос, но, ребят, а для тех, кто ну вообще не в теме что это за редиска такая и всё пропустил, есть где почитать по-русски? «чудесная key-value база» как-то вообще не о чем не говорит.
раз уж ответили, спрошу в догонку — а чем ваш класс от predis отличается?
насколько я понимаю для php только 2 нормальных api сделано — ваш и вышеуказанный
интересно ваше мнение
Predis более низкоуровневый клиент, который по сути реализует команды редиса как есть. В силу этого, например, он не занимается сереализацией данных, шардинг ключей по серверам ограничен для комманд, которые работают с несколькими ключами («мультигет» к примеру).
Редиска же изначально разрабатывали как более высокоуровней и удобный клиент. Поэтому в Редиски в отличии от Predis есть ООП обертки для ключей, интеграция с фреймворками, сериализация данных и т.д.
Редис участвует почти во всем функционале сайте в большей или меньшей степени. Его основная роль: счетчики, лимиты, рейтинги, очереди, логирование, хранение сессий, статистика, кеширование и прочее. Есть функционал который использует только Редис: друзья, топы, геном (рейтинг пользователя), голоса за контент, важные обновления…
Вопрос — как правильно обновится до новой версии — сохранением данных?
Просто прицепить слейвом новую версию?
Будет ли работать новая версия редиса (2) со старой версии редиски (для 1)?
А как быть с тем, что настоящих транзакция в редисе нет?
Ну т.е. в мускуле, емнип, при старте транзакции генерится что-то типа снапшота бд и дальше до коммита я работаю с этим снапшотом, могу читать\писать сколько угодно, при этом мои изменения будут изолированными. В редисе же внутри транзакции читать нельзя.
Плюс то, что ошибки во время транзакции игнорируются, а не приводят к откату — это баг или фича? Не мешает?
Вы можете читать во время транзакции, но данные вы получите после выполнения транзакции.
Ошибки во время транзакции не игнорируются. Ошибка приводит к откату всей транзакции.
«Either all of the commands or none are processed.»
В документации написано, что если установлен параметр maxmemory, то при достижении этого лимита redis не сможет больше ничего писать в память и выдаст ошибку, а что если при этом включена опция Virtual Memory — будет ли расширен лимит maxmemory до лимита VM или все равно выдаст ошибку?
поставил я редиску и как-то знакомство не пошло, может кто объяснит?
1. benchmark показывает 30 операций записи и 50 операций чтения в сек. Redis вроде как должен быть чуть лучше, не?
2. В режиме Socket'ов Rediska вообще не коннектится: «error 10035 Операция на незаблокированном сокете не может быть завершена немедленно»
Новый Redis 2.0 и Rediska 0.5.0!