эта команда недоступна, если соединение не создано с включенными командами администратора
при попытке запустить следующее в Redis с помощью booksleeve.
using (var conn = new RedisConnection(server, port, -1, password))
{
var result = conn.Server.FlushDb(0);
result.Wait();
}
Я получаю сообщение об ошибке сказав:
эта команда недоступна, если соединение создается с админ-команды включен"
Я не уверен, как выполнять команды в качестве администратора? Нужно ли создавать a / c в БД с доступом администратора и логином с этим?
2 ответов
В основном, опасные команды, которые вам не нужны в рутинных операциях, но которые могут вызвать множество проблем, если они используются ненадлежащим образом (т. е. эквивалент drop database
в tsql, так как ваш пример FlushDb
) защищены " да, я хотел это сделать... флаг:
using (var conn = new RedisConnection(server, port, -1, password,
allowAdmin: true)) <==== here
я улучшу сообщение об ошибке, чтобы сделать это очень ясным и явным.
обновленный ответ для StackExchange.Рэдис:
var conn = ConnectionMultiplexer.Connect("localhost,allowAdmin=true");
обратите внимание также, что объект, созданный здесь, должен быть создан один раз для каждого приложения и совместно использоваться как глобальный синглтон, per Марк:
поскольку ConnectionMultiplexer делает много, он предназначен для совместно и повторно используется между абонентами. Вы не должны создавать ConnectionMultiplexer за операцию. Он полностью потокобезопасен и готов для этого использования.