You call lua_pcall with the number of arguments you are passing and the number of results you want. The fourth argument indicates an error-handling fu
转载
2018-04-13 11:24:00
1171阅读
2评论
lua_pcall和lua_call功能一样,只是lua_pcall提供了一个可以提供错误处理函数的功能首先压入函数 ,再依次压入参数,现在你就可以调用lua_call了,函数调用后将参数,函数都弹栈,函数返回时会将返回值依次压栈。调用前堆栈情况参数参数函数调用后堆栈情况返回值注意:无论在c函数里怎么调用栈,在pcall之后都会按函数的参数和返回值恢复栈
转载
2013-11-08 20:29:00
660阅读
2评论
最近在学习使用Lua,也通过基本的语法知识完成了公司的一个关于配置文件参数合法性检查的小任务。虽然任务完成了,但对于一些函数的调用目的还是搞不明白,这两天再次重看了Manual Reference,稍微梳理出了一点眉目,记录在此。
转载
2021-09-29 12:05:32
2098阅读
Lua 数据类型Lua是动态类型语言, 值可以存储在变量中,作为参数传递或结果返回。 Lua中有8个基本类型分别为:nil、boolean、number、string、userdata、function、thread和table。 数据类型 描述 nil 只有值nil属于该类,表示一个无效值(在条件表达式中相当于false)。 boolean 包含两个值:false和true。只有nil与fals
转载
2024-04-12 03:28:34
26阅读
当master根据replica的PSYNC命令判断不能进行增量同步时,下面就需要进行全量同步。replica接受全量数据对于replica来说,会向事件循环中注册可读事件readSyncBulkPayload,用来接受从master传过来的全量数据:void syncWithMaster(aeEventLoop *el, int fd, void *privdata, int mask) {
转载
2024-01-28 06:17:50
35阅读
目录基本介绍设计目的Lua 特性lua基本语法 变量流程控制 redis执行lua脚本 - EVAL指令 案例1:基本案例案例2:动态传参 案例3:执行redis类库方法案例4:给redis类库方法动态传参案例5:pcall函数的使用(了解) 性能优化 - EVALSHA指令基本介绍Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开
转载
2023-09-27 09:17:28
153阅读
Redis从2.6开始支持Lua脚本,和事务的功能类似,可以通过Lua脚本原子的执行多个Redis命令。Redis提供了EVAL和EVALSHA命令执行lua脚本。
创建并修改Lua坏境Redis在服务器内嵌了一个Lua坏境,并进行了一系列的修改,从而确保这个Lua坏境可以满足Redis服务器的需要,通过下列步骤创建并修改Lua坏境:创建一个基础Lua坏
转载
2023-12-26 16:58:16
22阅读
介绍Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
Redis通过内置的 Lua 解释器,可以使用 EVAL 命令对 Lua 脚本进行求值。在lua脚本中可以通过两个不同的函数调用redis命令,分别是:redis.call() 和 redis.pcall()脚本的原子性Redis 使用 Lua
转载
2023-07-03 17:11:02
55阅读
20 Lua脚本作用: 通过在服务器嵌入Lua环境,客户端可以使用Lua脚本,直接在服务器端原子性地执行多个Redis命令EVAL:可以直接对输入的脚本进行求值 EVALSHA:可以根据脚本的SHA1校验和来对脚本进行求职;要求校验和对应的脚本至少被EVAL执行过一次或曾被SCRIPT LOAD 命令载入过20.1 创建并修改Lua环境过程:8步 接下来逐一介绍这些步骤20.1.1 创建Lua环境
转载
2023-08-22 10:40:44
126阅读
创建并修改Luab环境为了在Redis服务器中执行Lua,Redis在服
原创
2022-04-02 17:06:26
461阅读
redis补充这篇文章是redis入门笔记的补充。1.info命令用来显示服务的信息。info命令可以跟下面的选项:
server: 关于 Redis 服务器的一些信息
clients: 客户端连接部分
memory: 内存消耗相关信息
persistence: RDB和AOF相关信息
stats: 一些统计
replication: 主/副本复制信息
cpu: CPU消耗统计
commandst
转载
2023-08-22 16:27:02
462阅读
创建并修改Luab环境为了在Redis服务器中执行Lua脚本,Redis在服务器内嵌了一个Lua环境(environment),并对这个Lua环境进行了一系列修改,从而确
原创
2021-12-06 14:16:38
364阅读
1. string库中所有的字符索引从前往后是1,2,...;从后往前是-1,-2,... 2. string库中所有的function都不会直接操作字符串,而是返回一个结果 s = "[abc]" string.len(s) <==返回5 string.rep("abc", 2) <==返回"ab
转载
2018-01-16 11:40:00
214阅读
2评论
Lua中的table函数库一部分的table函数只对其数组部分产生影响, 而另一部分则对整个table均产生影响. 下面会分开说明. table.concat(table, sep, start, end)concat是concatenate(连锁, 连接)的缩写. table.concat()函数列出参数中指定table的数组部分从start位置到end位置的所有元素, 元素间以指定
转载
精选
2013-07-29 14:25:15
1625阅读
# Lua配置架构详解
在现代软件开发中,配置文件的管理和解析是一个非常重要的部分。Lua作为一种轻量级的脚本语言,以其简单性和灵活性而受到广泛欢迎。本文将对Lua配置架构进行详解,并结合代码示例以帮助大家更好地理解如何使用Lua来管理配置。
## Lua配置的基本概念
Lua配置架构通常涉及到以下几个关键点:
1. **配置文件的格式**:Lua支持自定义配置格式,通常采用Lua表(tab
回值:返回...
转载
2022-10-18 17:07:37
244阅读
MISC-1提示:if you want to find the flag, this hint may be useful: the text files within each zip consist of only "printable" ASCII characters给了53个加密压缩包,每个包分别含有一个txt文件,首先想到暴力压缩包,试过各工具后发现并不能用,于是想到使用脚本。以下是
Redis整合LuaRedis的消息模式Redis实现分布式锁常见的缓存问题我们先从Redis整合Lua的使用开始。lua是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。在Redis中使用Lua有以下好处: 减少网络开销,在Lua脚本中可以把多个命令放在同一个脚本中运行。原子操作,redis会将整个脚本作为一
转载
2023-09-01 08:11:22
56阅读
最近老是发现以前看过的知识点,过几天,再久一点,几个月,然后就忘得一干二净了。归根结底,还是缺少总结。习惯了以前读书填鸭式的学习方法,逐渐丧失主动独立思考的能力。阅读的时候看似理解了,实则只是简单掌握部分要点,并没有真正吃透。于是,我决定重新开始一点一滴地记录所看过的书或者教程,从中提炼较有价值的内容,既加强自己对文章的理解,也方便日后索引。今天主要重新了解了lua协程函数的使用方法。协同程序,简
转载
2024-03-19 17:13:16
66阅读
上节对Redis功能进行扩展,发布/订阅模式、事务相关内容。本节使用Lua对Redis的功能进行扩展。Lua是一个轻3台机器,赶紧尝试在公网上搭建体验一下。
原创
2024-07-30 11:39:58
83阅读