redis - tag - este comando no está disponible a menos que la conexión se cree con los comandos de administrador habilitados
eliminar tag git (2)
Básicamente, los comandos peligrosos que no necesita en las operaciones de rutina, pero que pueden causar muchos problemas si se usan de manera inadecuada (es decir, el equivalente de la drop database
de drop database
en tsql, ya que su ejemplo es FlushDb
) están protegidos por un "sí, quise decir para hacer eso ... "bandera:
using (var conn = new RedisConnection(server, port, -1, password,
allowAdmin: true)) <==== here
Voy a mejorar el mensaje de error para que esto sea muy claro y explícito.
Al intentar ejecutar lo siguiente en Redis usando booksleeve.
using (var conn = new RedisConnection(server, port, -1, password))
{
var result = conn.Server.FlushDb(0);
result.Wait();
}
Me sale un error diciendo:
Este comando no está disponible a menos que la conexión se cree con los comandos de administración habilitados "
No estoy seguro de cómo ejecuto los comandos como administrador? ¿Necesito crear un a / c en db con acceso de administrador e iniciar sesión con eso?
Respuesta actualizada para StackExchange.Redis :
var conn = ConnectionMultiplexer.Connect("localhost,allowAdmin=true");
Tenga en cuenta también que el objeto creado aquí se debe crear una vez por aplicación y compartir como un singleton global, por Marc :
Debido a que ConnectionMultiplexer hace mucho, está diseñado para ser compartido y reutilizado entre las personas que llaman. No debe crear un ConnectionMultiplexer por operación. Es totalmente seguro para subprocesos y listo para este uso.