Redis 执行Lua脚本
创始人
2024-11-11 12:37:28
0

Redis 执行Lua脚本

1. 简介

“Redis Lua是一种在Redis中使用的轻量级、高效的脚本语言,用于实现复杂操作和保证操作的原子性。

优点

  1. 大量减少Redis客户端Redis服务器的RTT时间。
  2. 降低Redis客户端Redis服务器的宽带压力,很多数据不需要传回Redis客户端直接在Redis服务端处理。

缺点

  1. 大量使用Lua脚本可能会增加复杂性。

2. 直接执行

import redis  r = redis.Redis(host='localhost', port=6379, db=0)  # 准备数据 r.set("num1", 1, ex=3) r.set("num2", 2, ex=3)  lua_script = """   local key1 = KEYS[1]   local key2 = KEYS[2]   local value1 = redis.call('get', key1)   local value2 = redis.call('get', key2)   if value1 == false or value2 == false then       return 0   end   return tonumber(value1) + tonumber(value2)   """ # 执行 result = r.eval(lua_script, 2, 'num1', 'num2') # 输出结果 print(result)  # 3 

3. 提前注册

import redis  r = redis.Redis(host='localhost', port=6379, db=0)  lua_script = """   local key1 = KEYS[1]   local key2 = KEYS[2]   local value1 = redis.call('get', key1)   local value2 = redis.call('get', key2)   if value1 == false or value2 == false then       return 0   end   return tonumber(value1) + tonumber(value2)   """  # 注册脚本 script = r.register_script(lua_script)  # 准备数据 r.set("num1", 1, ex=3) r.set("num2", 2, ex=3)  # 执行 result = script(keys=['num1', 'num2']) print(result)  # 3 

优点

  1. 节省每次脚本传输的带宽。
  2. 脚本一但注册会被服务器编译存在起来,省去每次编译的时间。

相关内容

热门资讯

脚本详情!德普之星辅助工具如何... 脚本详情!德普之星辅助工具如何设置,德普之星辅助工具如何打开(透视)总是真的是有脚本(哔哩哔哩)脚本...
透视推荐!wpk官网下载链接,... 透视推荐!wpk官网下载链接,wpk透视辅助(透视)都是是真的教程(哔哩哔哩)1、超多福利:超高返利...
脚本详情!wpk辅助器,wpk... 脚本详情!wpk辅助器,wpk德州局怎么透视(透视)好像是真的软件(哔哩哔哩)1、德州局怎么透视破解...
透视分享!wejoker透视方... 透视分享!wejoker透视方法,wepoker黑侠辅助器(透视)都是真的有脚本(哔哩哔哩)1、用户...
脚本关于!wpk辅助购买,wp... 脚本关于!wpk辅助购买,wpk模拟器(透视)都是真的是有神器(哔哩哔哩)1、每一步都需要思考,不同...
脚本教你!aapoker真的假... 脚本教你!aapoker真的假的,aapoker发牌逻辑(透视)都是真的是有软件(哔哩哔哩)1、辅助...
脚本曝光!wpk俱乐部是真的吗... 脚本曝光!wpk俱乐部是真的吗,wpk透视辅助方法(透视)确实是有器(哔哩哔哩)1、每一步都需要思考...
透视辅助!aapoker插件,... 透视辅助!aapoker插件,aapoker透视怎么用(透视)原来是有方法(哔哩哔哩)暗藏猫腻,小编...
透视揭露!hhpoker哪个俱... 透视揭露!hhpoker哪个俱乐部靠谱,hhpoker透视脚本(透视)都是有攻略(哔哩哔哩)1、透视...
透视专业!wepoker辅助器... 透视专业!wepoker辅助器有哪些功能,wepokerplus辅助(透视)本来是有软件(哔哩哔哩)...