redis原生支持watch监听、multi事务、exec批处理。但是下面的代码无法获取上面代码的执行结果。上下文关系不存在。lua可以帮助完善redis功能。

redis 原生支持 监听、事务、批处理,那么还需要lua吗?

  • 两者不存在竞争关系,而是增强关系,lua可以完成redis自身没有的功能

  • 在lua中可以使用上一步的结果,也就是可以开发后面操作依赖前面操作的执行结果的应用,MULT中的命令都是独立操作

  • redis可以编写模块增强功能,但是c语言写模块,太难了,lua简单的多

  • 计算向数据移动

  • 原子操作

lua脚本尽量短小并且尽量保证同一事物写在一段脚本内,因为redis是单线程的,过长的执行会造成阻塞,影响服务器性能

0表示不带参数,也可以传参数:

vi test.lua:

redis-cli --eval test.lua:注意这种写法支支持Lua5.1以上版本

在lua脚本中可以通过redis.call调redis原生的命令来获取值等操作:

vi test2.lua:

魔兽世界的客户端几乎都使用lua写的。

redis与lua整合相关推荐

  1. PHP中使用redis执行lua脚本示例

    一.引言 redis学了一段时间了,基本的东西都没问题了.从今天开始讲写一些redis和lua脚本的相关的东西,lua这个脚本是一个好东西,可以运行在任何平台上,也可以嵌入到大多数语言当中,来扩展其功 ...

  2. Redis进阶-lua脚本

    文章目录 Pre 语法 jedis操作lua 好处 lua实战 注意事项 Pre Redis在2.6推出了脚本功能,允许开发者使用Lua语言编写脚本传到Redis中执行. 语法 从Redis2.6.0 ...

  3. springboot controller 分页查询_Spring Boot实战分页查询附近的人:Redis+GeoHash+Lua

    前言 最近在做社交的业务,用户进入首页后需要查询附近的人: 项目状况:前期尝试业务阶段: 特点: 快速实现(不需要做太重,满足初期推广运营即可) 快速投入市场去运营 收集用户的经纬度: 用户在每次启动 ...

  4. PHP中使用redis 执行lua脚本

    在php中,可以通过redis执行lua脚本 1.脚本 <?php $redis = new Redis(); #实例化redis类 $redis->connect('127.0.0.1' ...

  5. nx set 怎么实现的原子性_【redis进阶(1)】redis的Lua脚本控制(原子性)

    [toc] 为什么要用lua 减少网络开销:本来5次网络请求的操作,可以用一个请求完成,原先5次请求的逻辑放在redis服务器上完成.使用脚本,减少了网络往返时延. 原子操作:Redis会将整个脚本作 ...

  6. Redis与Lua详解

    Lua Lua语法 Lua 数据类型 Lua 是动态类型语言,变量不要类型定义,只需要为变量赋值. 值可以存储在变量中,作为参数传递或结果返回. Lua 中有 8 个基本类型分别为:nil.boole ...

  7. Redis 使用 Lua 脚本进行原子操作

    Redis 使用 Lua 脚本进行原子操作 Intro 之前写过一篇文章也是 Redis 使用 LUA 脚本实现分布式的 CAS 操作,可以参考:基于 Redis 实现 CAS 操作 最近使用 Red ...

  8. Redis 中 Lua 脚本的应用和实践

    引言 前段时间组内有个投票的产品,上线前考虑欠缺,导致被刷票严重.后来,通过研究,发现可以通过 redis lua 脚本实现限流,这里将 redis lua 脚本相关的知识分享出来,讲的不到位的地方还 ...

  9. redis入门——Spring整合篇

    redis入门--Spring整合篇 @(Redis)[服务器, 连接池, 集群, jedis, spring] redis入门Spring整合篇 Spring整合Redis redis整合分析 编写 ...

最新文章

  1. java中if结构用图表示_Java语法基础之选择结构的if语句、switch语句详解
  2. spring gateway 限流持久化_Spring Cloud Gateway 扩展支持动态限流
  3. Symfony2 学习笔记之命令app/console
  4. 订餐系统之同步饿了么商家订单
  5. MySQL(四)复合查询与联合查询
  6. PHP执行外部程序的方法
  7. keil C对lib封装库反汇编成C语言,Keil软件“C语言”及“汇编”混编 —— 相关知识整理.doc...
  8. android标题栏的属性,android – 属性“titleTextStyle”已经定义?
  9. ARTS打卡计划第5周-ALGORITHM
  10. 【微信小程序】图片自适应屏幕
  11. 【精益生产】108页PPT搞懂精益生产价值流分析图(VSM)
  12. 宝塔Linux面板登录的账号密码忘了怎么办?
  13. weui学习总结——1、weui表单常用标签
  14. 论文MICO for MRI bias field estimation and tissue segmentation品讲
  15. CARD耐药数据库Linux使用
  16. java输出三维数组
  17. 如何备份SolidWorks网络版服务器
  18. 最小生成树--还是畅通工程
  19. NetCore 的几个重要的技术点
  20. 图谱实战 | 华农夏静波:深层语义知识图谱在药物重定位中的应用

热门文章

  1. 【效率】超详细!手把手带你快速入门 GitHub!
  2. 【机器学习基础】理解关联规则算法
  3. 【机器学习基础】让人惊艳的决策树可视化
  4. 推荐系统炼丹笔记:边缘计算+奉送20个推荐系统强特
  5. 推进教育人工智能?网易云和网易波特 “四步走”
  6. 数据结构_树与二叉树(mindmap)+LeetCode_100.相同的树(C语言)
  7. vue如何在用户要关闭当前网页时弹出提示
  8. .NET混淆器 Dotfuscator使用教程六:加强保护之添加Checks
  9. 在Object-C中学习数据结构与算法之排序算法
  10. SEO算法:如何通过PageRank算法判断SEO排序结果