• 使用Lua脚本的好处

  1. 一次性发送多个命令,减少网络开销。(是多个reids命令的集合,不用每次都去建立连接)
  2. 原子性       (redis会将这个lua脚本认为是一个整体去执行,不会被打断,所以保证原子性)
  3. lua  文件复用   (命令非常多,可以放在一个文件中,这样其他的redis也可以调用,使其复用)
  • 基本用法

127.0.0.1:6379> eval "return 'hello world'" 0
"hello world"
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> eval "return redis.call('set',KEYS[1],ARGV[1])" 1 HZ 2222
OK
127.0.0.1:6379> keys *
1) "HZ"
127.0.0.1:6379> get hz
(nil)
127.0.0.1:6379> get HZ
"2222"
127.0.0.1:6379>
  • lua文件的用法

[root@iZ2ze09u9vrxaf1z3n8oomZ bin]# ls
dump.rdb  redis-benchmark  redis-check-rdb  redis-sentinel
hz.lua    redis-check-aof  redis-cli        redis-server
[root@iZ2ze09u9vrxaf1z3n8oomZ bin]# ./redis-cli --eval hz.lua 0
"22222222222"
[root@iZ2ze09u9vrxaf1z3n8oomZ bin]# vim hz.lua redis.call('set','hz','22222222222')
return redis.call('get','hz')
  • 对lua脚本生成摘要

127.0.0.1:6379> script load "return 'hello world'"    //生成摘要
"5332031c6b470dc5a0dd9b4bf2030dea6d65de91"
127.0.0.1:6379> evalsha "5332031c6b470dc5a0dd9b4bf2030dea6d65de91"  0    //通过摘要执行命令
"hello world"
127.0.0.1:6379>
  • 如果lua脚本出现了死循环怎么办?

新打开一个客户端,使用   script kill 命令停止

Lua脚本的基本使用相关推荐

  1. 在windows程序中嵌入Lua脚本引擎--编写自己的Lua库

    在<在windows程序中嵌入Lua脚本引擎--建立一个简易的"云命令"执行的系统>一文中,我提到了使用Lua的ffi库,可以让我们像写C代码一样写lua程序.这是个非 ...

  2. 在windows程序中嵌入Lua脚本引擎--建立一个简易的“云命令”执行的系统

    在<在windows程序中嵌入Lua脚本引擎--使用VS IDE编译Luajit脚本引擎>开始处,我提到某公司被指责使用"云命令"暗杀一些软件.本文将讲述如何去模拟一个 ...

  3. 在windows程序中嵌入Lua脚本引擎--使用VS IDE编译Luajit脚本引擎

    前些天听到一个需求:某业务方需要我们帮忙清理用户电脑上的一些废弃文件.同事完成这个逻辑的方案便是在我们程序中加入了一个很"独立"的业务逻辑:检索和删除某个程序产生的废弃文件.试想, ...

  4. Java中使用LUA脚本语言

    Lua 是一个小巧的脚本语言.是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ieru ...

  5. JAVA游戏编程之三----j2me 手机游戏入门开发--俄罗斯方块_5_使用LUA脚本写游戏

    该程序是基于07年底写的一个J2ME小游戏 俄罗斯方块,将全部逻辑绘制都放到LUA脚本里来做,J2ME方面仅作一个绘制库来使用! 建立J2ME程序这里就不说了, 详见我的BLOG http://blo ...

  6. Lua脚本语言快速入门手册

    学了两天Lua语言,感叹其短小精悍,上手极快,语法还很舒服,不错!整理下学习过程中经常用到的基础知识,共勉! Lua用法简述 Lua语言是在1993年由巴西一个大学研究小组发明,其设计目标是作为嵌入式 ...

  7. 使用tolua++编译pkg,从而创建自定义类让Lua脚本使用

    2019独角兽企业重金招聘Python工程师标准>>> 在Lua第三篇中介绍了,如何在cocos2dx中使用Lua创建自定义类供Lua脚本调用使用,当时出于Himi对Lua研究不够深 ...

  8. Redis Lua脚本中学教程(下)

    在中学教程的上半部分我们介绍了Redis Lua相关的命令,没有看过或者忘记的同学可以步行前往直接使用机票Redis Lua脚本中学教程(上).今天我们来简单学习一下Lua的语法. 在介绍Lua语法之 ...

  9. 深入分析 Redis Lua 脚本运行原理

    Redis 提供了非常丰富的指令集,但是用户依然不满足,希望可以自定义扩充若干指令来完成一些特定领域的问题.Redis 为这样的用户场景提供了 lua 脚本支持,用户可以向服务器发送 lua 脚本来执 ...

  10. Spring Redis中使用Lua脚本实现高并发原子操作

    1. 前言 在上一文中我对 Lua 语言的一些简单的语法及其在 Redis 中的操作进行了介绍,但是在 Java 开发中我们还需要进一步的学习才能使这种技术落地.今天就结合Spring Data Re ...

最新文章

  1. Swift 条件编译,编译标记
  2. JVM系列三:JVM参数设置、分析
  3. 面试官再问高并发,求你把这篇发给他!
  4. 全球及中国海洋工程装备行业产值规模价值及投资风险预警报告2021-2027年版
  5. VTK:Rendering之Shadows
  6. C#LeetCode刷题之#653-两数之和 IV - 输入 BST(Two Sum IV - Input is a BST)
  7. Octavia API接口慢问题排查引发的思考
  8. mysql练习(重)
  9. vue图片插入与设置夜间模式/动态过渡
  10. 36 万美元套利!3 步骤揭秘黑客 DeFi 闪电贷全过程
  11. 服务器重置密码后无法启动不了怎么办,Windows Server 2008 R2 忘记密码的处理方法...
  12. 搭建 sock5代理服务器
  13. Linux:为什么性能工具需要 BPF 技术
  14. 图解R树的原理及相关操作
  15. Fiddler Everywhere 3.2.1 Crack
  16. 如何用VB开发游戏外挂
  17. matlab图像身高测量,基于Kinect景深图像的快速身高和体重测量方法
  18. 【Hexo搭建个人博客】(八)添加背景效果(点击鼠标显示红心并浮现社会主义核心价值观)
  19. (statistic)你所不知道的P值--对统计学的批判
  20. 奇技淫巧(二)—— 不使用中间变量交换两个值

热门文章

  1. 三容水箱液位控制系统_三容水箱液位控制系统的设计与仿真
  2. windows 使用cmd命令调用pesq.exe测量噪声语音及增强语音MOS评分
  3. Ros结合科大讯飞linuxSDK进行离线语唤醒、命令识别
  4. 股票通达信软件常用设置(1)
  5. keil调试工具(调试技术)
  6. CSS字体默认样式设置
  7. 【8】创建阿里云镜像仓库
  8. CBAP.BABOK.商业分析.业务分析.概述
  9. 开源DevOps工具在平台的未来
  10. 如何利用Python强势破解今日头条(巨量)滑块验证码!