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)); }
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" ); }
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)); }