Redis-Lua语言:简单小巧但功能强大

Redis中使用Lua Redis中使用Lua 一.Lua是什么? Lua是一门脚本语言,它是由C语言实现的。其设计目标是做为嵌入式程序移植到其他应用程序RedisLua做为脚本语言可以帮助开发者定制自己的Redis命令。 二. 数据类型 Lua支持strings(字符串),numbers(数值),tables(表格),booleans(布尔) 三. 在Redis中使用Lua 3.1 eval 3.2... 阅读详情

Lua

Lua语言是在1993年由巴西一个大学研究小组发明,其设计目标是作为嵌入式程序移植到其他应用程序,它是由C语言实现的,虽然简单小巧但是功能强大,所以许多应用都选用它作为脚本语言,尤其是在游戏领域,暴雪公司的“魔兽世界”,“愤怒的小鸟”,Nginx将Lua语言作为扩展。Redis将Lua作为脚本语言可帮助开发者定制自己的Redis命令。

Redis 2.6 版本通过内嵌支持 Lua 环境。也就是说一般的运用,是不需要单独安装Lua的。

通过使用LUA脚本:

1、减少网络开销,在Lua脚本中可以把多个命令放在同一个脚本中运行;

2、原子操作,redis会将整个脚本作为一个整体执行,中间不会被其他命令插入(Redis执行命令是单线程)。

3、复用性,客户端发送的脚本会永远存储在redis中,这意味着其他客户端可以复用这一脚本来完成同样的逻辑。

不过为了我们方便学习Lua语言,我们还是单独安装一个Lua。

在Redis使用LUA脚本的好处包括:

1、减少网络开销,在Lua脚本中可以把多个命令放在同一个脚本中运行;

2、原子操作,Redis会将整个脚本作为一个整体执行,中间不会被其他命令插入。换句话说,编写脚本的过程中无需担心会出现竞态条件;

3、复用性,客户端发送的脚本会存储在Redis中,这意味着其他客户端可以复用这一脚本来完成同样的逻辑

Lua入门

安装Lua

Lua在linux中的安装

到官网下载lua的tar.gz的源码包

1、wget http://www.lua.org/ftp/lua-5.3.6.tar.gz 2、tar -zxvf lua-5.3.6.tar.gz 进入解压的目录: 3、cd lua-5.3.6 4、make linux 5、make install(需要在root用户下) 如果报错,说找不到readline/readline.h, 可以root用户下通过yum命令安装 yum -y install libtermcap-devel ncurses-devel libevent-devel readline-devel 安装完以后再make linux / make install 最后,直接输入 lua命令即可进入lua的控制台: 复制代码

Lua基本语法

Lua 学习起来非常简单,当然再简单,它也是个独立的语言,自成体系,不可能完全在本课中全部讲述完毕,如果工作中有深研Lua的需要,可以参考《Lua程序设计》,作者罗伯拖·鲁萨利姆斯奇 (Roberto Ierusalimschy)。

现在我们需要:print("Hello World!")

可以在命令行中输入程序并立即查看效果。

或者编写一个Lua脚本

然后执行

注释

单行注释

两个减号是单行注释: -- 复制代码

多行注释

--[[ 注释内容 注释内容 --]] 复制代码

标示符

Lua 标

Lua脚本使用手册(Redis篇) Lua是一种功能强大的,高效,轻量级,可嵌入的脚本语言。它是动态类型语言,通过使用基于寄存器的虚拟机解释字节码运行,并具有增量垃圾收集的自动内存管理,是配置,脚本和快速原型设计的最佳选择。 阅读详情

相关推荐

SAP SD实战:用BADI_SLS_HEAD_SCR_CUS给销售订单VA01/VA02加自定义字段(附完整函数组代码)

本文详细解析了在SAP SD模块中如何利用BADI_SLS_HEAD_SCR_CUS实现销售订单(VA01/VA02)的屏幕增强,包括数据结构设计、函数组创建和BADI接口实现。通过实战案例和完整代码,帮助开发者掌握在SAPMV45A标准流程中添加自定义字段的关键技术,提升业务定制化能力。

weixin_27015733的博客 343

Redis中使用Lua脚本(一)

Redis中使用Lua脚本(一)一、简介二、RedisLua的常用命令2.1 EVAL命令2.2 SCRIPT LOAD命令 和 EVALSHA命令2.3 SCRIPT EXISTS 命令2.4 SCRIPT FLUSH 命令2.5 SCRIPT KILL 命令三、Redis执行Lua脚本文件3.1 编写Lua脚本文件3.2 执行Lua脚本文件四、实例:使用Lua控制IP访问频率五、总结参考资...

泡飞的博客 5024

Nginx+Lua 开发高性能Web应用实战

1. Nginx优点Nginx设计为一个主进程多个工作进程的工作模式,每个进程是单线程来处理多个连接,而且每个工作进程采用了非阻塞I/O来处理多个连接,从而减少了线程上下文切换,从而实现了公认的高性能、高并发;因此在生成环境中会通过把CPU绑定给Nginx工作进程从而提升其性能;另外因为单线程工作模式的特点,内存占用就非常少了。Nginx更改配置重启速度非常快,可以毫秒级,而且支持不停止Nginx进行升级Nginx版本、动态重载Nginx配置。

悦分享 7073

RedisLua脚本讲解

当涉及Lua编程时,以下是对前述12个关键概念的详细说明,附带Lua代码示例以帮助更深入了解这门编程语言@Inherited/*** key*//*** Key的前缀*//*** 一定时间内最多访问次数*//*** 给定的时间范围 单位(秒)*///设置value的序列化方式为JSOn // redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);

上善若泪 7300

Redis(四):Redis的脚本语言Lua及限流策略

Redis+Lua及限流算法(固定窗口、滑动窗口、漏桶、令牌桶)详解

一个程序员的自我救赎。 1051

lua脚本从入门到精通【总结篇】一文学会lua脚本及语法示例

Lua是一种小巧而强大的脚本语言,最初由巴西里约热内卢天主教大学的研究小组于1993年开发而成。Lua的设计目标是为应用程序提供灵活的扩展和定制功能。它由标准C编写而成,可以在几乎所有操作系统和平台上编译和运行。Lua的定位决定了它不提供强大的库,因此不适用于开发独立应用程序Lua的嵌入性使得它在应用程序中广泛应用,既可以作为扩展脚本,也可以替代XML、ini等文件格式作为配置文件使用。Lua脚本可以轻松地被C/C++代码调用,也可以反过来调用C/C++函数,这增加了它在应用程序中的灵活性和应用范围。

日拱一卒无有尽,功不唐捐终入海 2万+

添加lua_Redis进阶:Redis+Lua脚本实现复杂操作

一、引言Redis是高性能的key-value数据库,在很大程度克服了memcached这类key/value存储的不足,在部分场景下,是对关系数据库的良好补充。得益于超高性能和丰富的数据结构,Redis已成为当前架构设计中的首选key-value存储系统。虽然Redis官网上提供了200多个命令,但做程序设计时还是避免不了为了实现一小步业务逻辑而多次调用Redis的情况。以compare and...

weixin_39568133的博客 623

redis初级——Lua脚本

介绍Lua脚本的基本数据结构与用法,以及在Redis中如何使用与管理Lua脚本。

weixin_45102042的博客 4297

Redis | Lua脚本基础知识

Lua语言是在1993年由巴西一个大学研究小组发明,其设计目标是作为嵌入式程序移植到其他应用程序,它是由C语言实现的,虽然简单小巧但是功能强大,所以许多应用都选用它作为脚本语言,尤其是在游戏领域,暴雪公司的“魔兽世界”,“愤怒的小鸟”,Nginx将Lua语言作为扩展。RedisLua作为脚本语言可帮助开发者定制自己的Redis命令。

qq_74092815的博客 1011

lua for循环_Redis:18常用功能之(Lua脚本)

为了保证多条命令组合的原子性,Redis提供了简单的事务功能以及集成Lua脚本来解决这个问题,本文介绍Lua,事务已经在前一篇文章介绍过了一、Lua概述Lua语言是在1993年由巴西一个大学研究小组发明,其设计目标是作为嵌入式程序移植到其他应用程序,它是由C语言实现的,虽然简单小巧但是功能强大所以许多应用都选用它作为脚本语言,尤其是在游戏领域,例如大名鼎鼎的暴雪公司将Lua语言引入到“魔...

weixin_33438788的博客 3918

【存储中间件】Redis核心技术与实战(二):Redis高级特性与应用(LuaRedis与限流)

先有一个桶,桶的容量是固定的。以任意速率向桶流入水滴,如果桶满了则溢出(被丢弃)。桶底下有个洞,按照固定的速率从桶中流出水滴。

专注上位机开发、机器视觉、机器学习、嵌入式软硬件开发 1万+

RedisLua脚本(进阶篇)

Lua语言是在1993年由巴西一个大学研究小组发明,其设计目标是作为嵌入式程序移植到其他应用程序,它是由C语言实现的,虽然简单小巧但是功能强大,所以许多应用都选用它作为脚本语言,尤其是在游戏领域,暴雪公司的“魔兽世界”,“愤怒的小鸟”,Nginx将Lua语言作为扩展。RedisLua作为脚本语言可帮助开发者定制自己的Redis命令。Redis 2.6 版本通过内嵌支持 Lua 环境。也就是说一般的运用,是不需要单独安装Lua的。1、减少网络开销,在Lua脚本中可以把多个命令放在同一个脚本中运行;

爱晴禹 4359

探索Lua语言:安装、基本语法与应用案例

它是由C语言实现的,虽然简单小巧功能强大,所以许多应用都选用它作为脚本语言,尤其是在游戏领域,如暴雪公司的“魔兽世界”和“愤怒的小鸟”。模块,注意本代码仅供参考,在工作中需要使用Lua语言或在Java中执行Lua脚本时,请自行仔细学习Lua语言luaj-jse的使用。在Java生态中,对Lua的支持主要通过LuaJ,这是一个JavaLua解释器,基于Lua 5.2.x版本。在默认情况下,变量总是全局的。Redis 2.6版本通过内嵌支持Lua环境,也就是说一般的运用是不需要单独安装Lua的。

搬砖的小熊猫的博客 1275

【进阶篇】2.4 Redis Lua脚本详解

Redis 其内置了脚本语言Lua,允许用户通过Lua脚本执行一系列操作。本篇博客将深入探讨Redis Lua脚本的执行机制,包括加载脚本、编译脚本和执行脚本的过程,以及脚本的原子性和事务性。我们将通过实例演示的方式,展示如何在Redis中使用Lua脚本,以及Lua脚本在Redis中的应用场景。让我们一起来了解Redis Lua脚本的强大之处吧!Lua是一种轻量级的脚本语言,它具有简洁、灵活、高效的特点。Lua语言最初是为嵌入式系统设计的,但现在已广泛应用于游戏开发、Web开发、嵌入式设备控制等领域。

日拱一卒无有尽,功不唐捐终入海 1万+

Redis中的Lua脚本教程(零基础入门)

Lua是一种轻量级、高效的脚本语言,设计初衷是作为嵌入式语言与其他程序(如Redis)配合使用。它语法简单,容易学习,同时功能强大Lua脚本是Redis的强大功能,可以实现原子性操作、减少网络往返、提高性能,并支持复杂的业务逻辑。本教程从Lua语言基础入门,到Redis中的脚本使用,再到实际应用场景和实践。

weixin_49036863的博客 7953

Lua脚本语言

Lua

YYYMarshal的博客 1万+

Lua脚本

Lua脚本是一个小巧的轻量级的脚本语言,它的设计目的你说为了通过嵌入到应用程序中从而为应用程序提供拓展和定制功能。Lua是由C语言来编写的,几乎所有的操作系统和平台都可以编译和运行Lua脚本语言。在所有脚本引擎中,Lua的速度是最快的。所有它才被作为嵌入式脚本语言Lua脚本很容易被C、C++代码调用,也可以反过来调用C、C++代码。

BlueProtocolBlog 1万+

RedisRedis中使用Lua脚本

Lua是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua具体语法参考:https://www.runoob.com/lua/lua-tutorial.html。

morris 3万+

初探Lua脚本

Lua初探,结合Redis+Lua Demo演示

weixin_43410352的博客 9248

R数据分析:潜在剖面分析LPA的做法与解释

Latent Profile Analysis (LPA) tries to identify clusters of individuals (i.e., latent profiles) based on responses to a series of continuous variables (i.e., indicators). LPA assumes that there are unobserved latent profiles that generate patterns of resp.

Codewar的博客 1万+

aaaa.rar_aaaa小软件_paint_画图

模仿windows画图的小软件 网上得来的,看过,好用

上一篇: 3000字教你如何加快Spring Boot启动
下一篇: 看懂 MySQL 执行计划花费不到十来分钟
Java_LingFeng
博客等级 码龄4年 501粉丝 259原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值