Ich verwende stackExchange.redis und möchte ein Lua -Skript ausführen, das SADD -Operationen an mehreren Sätzen ausführt, wobei beide Schlüssel und Werte dynamisch übergeben werden.
Code: Select all
private static readonly LuaScript AddToSetsScript = LuaScript.Prepare("""
for i = 1, #KEYS do
redis.call('SADD', KEYS[i], ARGV[i])
end
return true
""");
jedoch erwartet luascript.prepare (String -Skript) benannte Parameter (wie @key, @Value), die später in Objekt ersetzt werden? Parameter
Code: Select all
ScriptEvaluateAsync(LuaScript script, object? parameters = null, CommandFlags flags = CommandFlags.None)
In meinem Fall muss ich ganze Sammlungen von Schlüssel und Werten (wie Liste und list übergeben, und ich möchte, dass das Skript über sie über sie agiert. />
Code: Select all
ScriptEvaluateAsync(string script, RedisKey[]? keys = null, RedisValue[]? values = null, CommandFlags flags = CommandFlags.None)
Aber soweit ich weiß, dass ich das automatische Skript verliere, das Luascript bietet, und ich müsste die SHA1 -Hashing -Logik selbst verwalten. Oder ist manuelle Skriptverwaltung in diesem Fall die einzige Option?>