Используйте @import url('css4.css')
на одной из ваших существующих страниц css. Затем используйте спецификацию для выделения вашего нового кода:
Html:
<ul class='ulclass'>
<li class='liclass'>
<a class='aclass>The text</a>
</li>
</ul>
css1.css:
.aclass{
color : red;
}
css4.css:
ul.ulclass li.liclass a.aclass{
color: green;
}
Тогда у вас будет green
цвет в вашем элементе a
В принципе, базы данных Redis в одном экземпляре не отличаются от схем в экземплярах базы данных РСУБД.
Итак, со всем сказанным, почему / когда я когда-нибудь захочу использовать несколько Redis вместо того, чтобы просто добавить лишний экземпляр Redis для каждой дополнительной базы данных, которую я хочу?
blockquote>Есть одно явное преимущество использования баз данных redis в том же экземпляре redis, и это управление. Если вы создадите отдельный экземпляр для каждого приложения и предположим, что у вас есть 3 приложения, это три отдельных экземпляра redis, для каждого из которых, вероятно, потребуется ведомое устройство для HA, поэтому это шесть общих экземпляров. С точки зрения управления, это становится беспорядочным, потому что вам нужно контролировать все из них, делать обновления / исправления и т. Д. Если вы не планируете перегружать redis при высоких вводах-выводах, один экземпляр с ведомым проще и легче управлять, если оно соответствует вашему SLA.
Вы не хотите использовать несколько баз данных в одном экземпляре redis. Он устарел и, как вы отметили, несколько экземпляров позволяют вам использовать преимущества нескольких ядер. Если вы используете выбор базы данных, вам придется реорганизовать ее при обновлении. Мониторинг и управление несколькими экземплярами не является сложным и болезненным.
В самом деле, вы бы получили гораздо лучшие показатели для каждого db путем сегрегации на основе экземпляра. Каждый экземпляр имел бы статистику, отражающую этот сегмент данных, который может обеспечить лучшую настройку и более гибкий и точный мониторинг. Используйте последнюю версию и отделите свои данные по экземпляру.
Как сказал Джонатон, не используйте команду keys. Если вы просто создадите ключевой индекс, вы получите гораздо лучшую производительность. При добавлении ключа добавьте имя ключа в набор. Команда клавиш не очень полезна, как только вы увеличиваете масштаб, так как для возврата потребуется значительное время.
Пусть шаблон доступа определяет, как структурировать ваши данные, а не хранить его так, как вы думаете, работает, а затем работать над тем, как получить доступ и продолжить его позже. Вы увидите гораздо лучшую производительность и часто обнаруживаете, что код, потребляющий данные, намного чище и проще.
Что касается одиночной резьбы, считайте, что redis предназначен для скорости и атомарности. Уверенные действия, изменяющие данные в одном db, не должны ждать другого db, но что, если это действие сохраняется в файле дампа или обрабатывает транзакции на ведомых? В этот момент вы начинаете проникать в сорняки программирования параллелизма.
Используя несколько экземпляров, вы превращаете многопоточную сложность в более простую систему стилей передачи сообщений.
KEYS
, так как это O (n) и что не очень хорошо масштабируется. Что вы используете для этого, что вы можете выполнить по-другому? Возможно, redis не подходит для вас, если функциональность, такая как KEYS
, жизненно важна. Я использую redis для реализации черного списка адресов электронной почты, и у меня разные значения TTL для разных уровней черного списка, поэтому использование разных БД в одном экземпляре мне очень помогает.
Даже Сальваторе Санфилиппо (создатель Редиса) считает, что использовать Red Hat в нескольких базах данных неплохо. См. Его комментарий здесь:
https://groups.google.com/d/topic/redis-db/vS5wX8X4Cjg/discussion
Я понимаю, как это может быть полезно, но, к сожалению, я считаю ошибки Redis множественной базы данных самым худшим решением в дизайне Redis вообще ... без какого-либо реального выигрыша, это делает внутренности намного сложнее. Реальность заключается в том, что базы данных не масштабируются по ряду причин, например, по истечении срока действия ключей и виртуальной машины. Если выбор БД можно выполнить со строкой, я вижу, что эта функция используется как масштабируемый слой словаря O (1), а это не так.
С номерами БД, по умолчанию из нескольких БД, мы лучше сообщаем, что это за функция и как можно использовать, я думаю. Надеюсь, что в какой-то момент мы можем вообще отказаться от поддержки нескольких БД, но я думаю, что, возможно, слишком поздно, поскольку многие люди полагаются на эту функцию для своей работы.
blockquote>
Базы Redis могут использоваться в редких случаях развертывания новой версии приложения, где новая версия требует работы с разными объектами.