当前位置: 首页 > news >正文

西安制作网站软件加盟创业商机网

西安制作网站软件,加盟创业商机网,自己干电商如何下手,做电影网站如何推广什么是lua脚本#xff1f; lua语言是一个轻量级的脚本语言#xff0c;可以嵌入其他语言中使用#xff0c;调用宿主语言的功能。lua语法简单#xff0c;小巧#xff0c;源码一共才200多K#xff0c;本身不会有太强的功能#xff0c;很多的语言也支持lua语言#xff0c;…什么是lua脚本 lua语言是一个轻量级的脚本语言可以嵌入其他语言中使用调用宿主语言的功能。lua语法简单小巧源码一共才200多K本身不会有太强的功能很多的语言也支持lua语言比如redis、Nginx redis语言中完美嵌入了lua脚本功能redis可以调用lua脚本中的apilua脚本也可以调用redis中的命令 redis调用lua脚本 在redis中调用lua脚本需要使用eval指令 127.0.0.1:6379eval return hello 0 hello调用lua脚本动态传入参数其中表达式script后面第一个参数nkey表示key的对应位置后面的表示key和对应的参数argv # script脚本后面第一个参数1表示key为其后的第一个参数也就是1如何key后面的参数都是ARGV 127.0.0.1:6379eval if KEYS[1]1 then return ARGV[1] end return ARGV[2] 1 1 hello hi hello 127.0.0.1:6379eval if KEYS[1]1 then return ARGV[1] end return ARGV[2] 1 1 hello hi hilua脚本调用redis命令 使用lua调用redis的命令需要使用redis.call调用 # key为0表示能获取到锁 127.0.0.1:6379eval local key redis.call(exists,KEYS[1]) if key0 then return redis.call(set,KEYS[1],ARGV[1]) end return 1 1 orderId01 1写个lua脚本来实现一个简单的分布锁锁 private static final String LOCK_LUA_SCRIPT local lockParam redis.call(exists, KEYS[1])\n if lockParam 0 then\n redis.call(set, KEYS[1], ARGV[1])\n redis.call(expire, KEYS[1], ARGV[2])\n end\n return lockParam\n;简单实现抢单的业务 Autowiredprivate RedisTemplate redisTemplate;Testpublic void testLua() {Long orderId IdUtil.getSnowflake().nextId();String lockKey order:orderId;String requestId IdUtil.randomUUID();try {Long lock (Long) redisTemplate.execute(RedisScript.of(LOCK_LUA_SCRIPT, Long.class), Arrays.asList(lockKey), requestId, 30);// 抢得到锁if (lock 0) {// 模拟业务执行10sTimeUnit.MILLISECONDS.sleep(10*1000);}log.info(lock:[{}], lock);} catch (Exception e) {testRelease(lockKey, requestId);} finally {testRelease(lockKey, requestId);}}锁释放的也通过lua脚本实现主要是保证原子性 private String UNLOCK_LUA_SCRIPT if redis.call(get, KEYS[1]) ARGV[1] then return redis.call(del, KEYS[1]) else return 0 end;Test public void testRelease(String lockKey, String lockValue) {redisTemplate.execute(RedisScript.of(UNLOCK_LUA_SCRIPT, Long.class), Arrays.asList(lockKey), lockValue); }Lua脚本使用场景 保证原子性地执行多个命令需要返回中间值组合编排后面的命令
http://www.ho-use.cn/article/10820875.html

相关文章:

  • 为啥做网站开发公司房价制定
  • 郑州手机网站网app开发
  • dw怎么做百度网站个人信息怎么在百度推广
  • 网站app用什么语言开发哪些网站可以做设计赚钱
  • 郑州网站建设兼职1534939978姐的微信德惠市
  • 网站建设公司权威排名厦门百度seo排名
  • 开发网站公司如何运营乌海网站开发
  • 怎么开发网站卡地亚官方网站制作需要多少钱
  • 化工企业网站模板成都规划网站
  • 自己做网站需要服务器吗电子商务有限公司有哪些
  • 网站营销外包公司网站建设的标签指的是
  • 仓山区城乡建设局网站宣传片制作标准参数
  • 彩票网站维护需要几天点击链接即可进入
  • 上海自助建站上海网站建设自己做视频类网站用哪个cms
  • 全屏网站 欣赏不懂见网站怎么办
  • 小生意是做网站还是公众号手机网站网页设计
  • 开发公司产品部课件商丘市网络优化公司地址
  • 兼职网站制作做网站怎么调用栏目
  • 万网网站开发拓者设计吧 现代风格
  • 医疗公司网站建设项目背景南山做网站行业
  • 新网 网站建立wordpress nginx apache
  • 中国字体设计网站广告设计公司投标书范文
  • 企业营销型网站建设企查查在线查询网页版
  • 搜网站技巧江阳建设集团网站
  • 免费微网站_自助建站wordpress 模板后台
  • 企业网站设计解决方案网站设计风
  • 成都网站建设cdsqywl用自己的计算机做服务器建网站
  • 网站关键词怎么做效果好玻璃钢产品哪个网站做推广好
  • 大型网站如何开发百度指数是啥
  • 北京网站建设价格wordpress代码大全