Пример #1
0
        public async Task Cause_Exists_To_Return_True()
        {
            const string script = "return redis.call('LOLWUT')";
            var          eval   = new EVAL(script, Array.Empty <Key>(), Array.Empty <BulkString>());
            await connection.ExecuteAsync(eval).ConfigureAwait(false);

            var scriptHash   = Sha1.Create(script);
            var scriptExists = new SCRIPT.EXISTS(scriptHash);
            var response     = await connection.ExecuteAsync(scriptExists).ConfigureAwait(false);

            response.Should().Equal((scriptHash, true));
        }
Пример #2
0
        public async Task Run_Script_Server_Side()
        {
            var command = new EVAL(
                @"
for i,key in ipairs(KEYS) do
    redis.call('SET', key, 'Hello ' .. key)
end
",
                new Key[] { "keys:1", "keys:2" },
                Array.Empty <BulkString>()
                );
            await connection.ExecuteAsync(command).ConfigureAwait(false);

            var values = await connection.ExecuteAsync(
                new MGET("keys:1", "keys:2")
                ).ConfigureAwait(false);

            values.Should().Equal(
                "Hello keys:1",
                "Hello keys:2"
                );
        }
Пример #3
0
        public async Task <DataType> Return(string script)
        {
            var command = new EVAL(script, new Key[] { "some-key" }, new BulkString[] { "some-argument" });

            return(await connection.ExecuteAsync(command).ConfigureAwait(false));
        }