脚本

    通过 LuaScript 类可以获得更复杂的脚本。 LuaScript 类使得更容易准备和提交参数以及脚本,以及允许您使用清理代码后变量名称。

    LuaScript 的使用示例:

    Any object that exposes field or property members with the same name as @-prefixed variables in the Lua script can be used as a parameter hash to
    Evaluate calls.

    任何在Lua脚本中暴露的以@为前缀变量同名的字段或属性成员的对象都可以用作参数哈希 Evaluate 调用。

    • int(?)
    • long(?)
    • double(?)
    • string
    • byte[]
    • RedisKey
    • RedisValue

    为了避免在每次评估时重新传输Lua脚本到redis,LuaScript 对象可以通过 LuaScript.Load(IServer) 转换为 LoadedLuaScript
    LoadedLuaScripts 使用 求值,并由 hash 引用。

    LoadedLuaScript 的使用示例:

    1. const string Script = "redis.call('set', @key, @value)";
    2. {
    3. var server = conn.GetServer(/* appropriate parameters*/);
    4. var prepared = LuaScript.Prepare(Script);
    5. var loaded = prepared.Load(server);
    6. loaded.Evaluate(db, new { key = (RedisKey)"mykey", value = 123 });
    7. }