Wie verwendete ich Luascript mit dynamischen Schlüssel und Argv -Sammlungen in stackexchange.redis, ohne das Skript zwis
Posted: 12 Apr 2025, 14:55
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.
jedoch erwartet luascript.prepare (String -Skript) benannte Parameter (wie @key, @Value), die später in Objekt ersetzt werden? Parameter
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. />
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?>
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
""");
Code: Select all
ScriptEvaluateAsync(LuaScript script, object? parameters = null, CommandFlags flags = CommandFlags.None)
Code: Select all
ScriptEvaluateAsync(string script, RedisKey[]? keys = null, RedisValue[]? values = null, CommandFlags flags = CommandFlags.None)