如何使用ServiceStack.Redis客户端向Redis发送任意命令?

时间:2013-06-04 16:34:42

标签: c# redis servicestack

Redis security best practices建议重命名命令以抑制未经授权/意外执行。 使用ServiceStack.Redis客户端发出任意(重命名)命令的最佳方法是什么?

我们迄今为止所做的一切:我们已将 PUBLISH 命令重命名为 HSILBUP 。我试图使用以下代码块来发出 HSILBUP 命令。调用FlushSendBuffer时,这会导致空引用异常。我正在使用这些方法因为他们的名字暗示了我想要的行为。我不知道这是否是他们想要的功能。

var command = new[]
{
    ToByteArray("HSILBUP"),
    ToByteArray("channel"),
    ToByteArray("message")
};

redisClient.WriteAllToSendBuffer(command);
redisClient.FlushSendBuffer();

1 个答案:

答案 0 :(得分:1)

最简单的更改是直接在ServiceStack.Redis项目代码中进行更改。您需要更改Commands.cs

从以下位置更改:

public readonly static byte[] Publish = "PUBLISH".ToUtf8Bytes();

为:

public readonly static byte[] Publish = "HSILBUP".ToUtf8Bytes();