Можно ли контролировать только одну базу данных? - PullRequest
8 голосов
/ 08 сентября 2011

В настоящее время я понимаю, что команда ' monitor ' выводит все команды, полученные сервером, независимо от того, на какой номер базы данных они отправлены.

Это проблема для меня, поскольку я использую один дБ для хранения «нормальных» данных и один дБ для хранения данных сеанса, а вывод из дБ сеанса делает почти невозможным чтение выходных данных из другого дБ.

Есть ли способ ограничить вывод только одной базой данных?

Ответы [ 3 ]

13 голосов
/ 22 апреля 2013

Как насчет этого?

redis-cli monitor |grep '(db 1)'

Таким образом, вы просто получите вывод DB 1

5 голосов
/ 09 сентября 2011

Базы данных в Redis совсем не похожи на базы данных в SQL. По сути, они представляют собой просто предопределенный префикс ключа без собственной настройки.

Если вы хотите видеть только изменения в реальных данных, вам нужно будет настроить их как отдельный экземпляр, чтобы данные сеанса передавались в другой процесс.

В этом нет особых накладных расходов (в большинстве случаев это фактически повысит производительность), и есть другие веские причины для использования нескольких экземпляров. Например, вы, вероятно, хотите, чтобы ваши реальные данные записывались на диск в режиме реального времени и создавали резервные копии, но данные сеанса бесполезны после перезапуска сервера, поэтому их вообще не нужно сохранять на диск. В совместно используемом экземпляре вам придется сохранять и резервировать все, что не особенно хорошо для производительности, когда данные сеанса меняются гораздо больше, чем постоянные данные.

0 голосов
/ 28 июня 2019
redis-cli -n 1 monitor

Где 1 - номер базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...