lua
nvim中packer.lua的设置
Manu`s website | Configure Nvim with Lua: Plugin/package management (3) (manujsdev.com) local ensure_packer = function() local fn = vim.fn local insta ......
记坑-Redis集群模式使用Lua脚本的限制
有一种无奈叫测试环境好好的,一到线上就热烈的马,各种问题原形毕露 ##问题复现: ERR bad lua script for redis cluster, all the keys that the script uses should be passed using the KEYS array ......
Lua(四)
Lua table(表) table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组、字典等。 Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil。 Lua table 是不固定大小的,你可以根据自己需要进行扩容。 Lua也是通过tab ......
Lua脚本(三)
Lua 字符串 字符串或串(String)是由数字、字母、下划线组成的一串字符。 Lua 语言中字符串可以使用以下三种方式来表示: 单引号间的一串字符。 双引号间的一串字符。 [[ 与 ]] 间的一串字符。 以上三种方式的字符串实例如下: string1 = "Lua" print("\"字符串 1 ......
在java中使用lua脚本操作redis
## 前言 众所周知,redis可以执行lua脚本,至于为什么要用lua脚本来操作redis,自行百度咯 ## 开始 ### Bean类 ```java package cn.daenx.myadmin.common.config.redis; import org.springframework. ......
redis-cli 使用lua脚本笔记
## 前言 redis可以执行lua脚本,具体怎么玩呢 先来讲一下最简单的方式,下一篇文章讲如何在java springboot里用 更为详细的资料请参考以下文章 https://blog.csdn.net/jiayibingdong/article/details/115186990 https: ......
lua5.3字符串实现
lua字符串对象分为长字符串和短字符串,长度超过40的是长字符串对象,小于40的是短字符串对象,短字符串对象会被缓存到全局变量G的strt 哈希表中(数组+链表实现)。 字符串对外提供的创建接口 有 luaS_new(),luaS_newlstr(), luaS_createlngstrobj() ......
自己动手实现lua(二)指令集
高级编程语言虚拟机是对真实计算机的模拟和抽象。按照实现方式,虚拟机大致可以分为两类:基于栈(Stack Based)和基于寄存器(Register Based)。 Lua虚拟机则是基于寄存器的虚拟机(实际上Lua在5.0版之前使用的也是基于栈的虚拟机,不过从5.0版开始改成了基于寄存器的虚拟机)。 ......
【Redis】-使用Lua脚本解决多线程下的超卖问题以及为什么?
一.多线程下引起的超卖问题呈现1.1.我先初始化库存数量为1、订单数量为0 1.2.开启3个线程去执行业务 业务为:判断如果说库存数量大于0,则库存减1,订单数量加1 结果为:库存为-2,订单数量为3 原因:如下图所示,这是因为分别有6个指令(3个库存减1指令,3个订单数量加1指令)在redis服务 ......
lua
Skywalking 监控nginx的方法 https://blog.csdn.net/qq_31725371/article/details/85226116 https://www.jianshu.com/p/30684f94d5e0 过程 安装必备软件: yum install -y gcc ......
lua基础语法篇一
打印 print("hello world") 注释 单行注释 多行注释 -- 这是单行注释 --[[ 这是多行注释 ]] 赋值 s="Hello World" -- 多重赋值 a,b="String a","String b" -- 交换值,类似python a,b="String a","Str ......
lua元表、元方法
lua元表、元方法 lua官方参考手册:https://www.runoob.com/manual/lua53doc/manual.html#2.4 一、总结: ☺ 1、普通的表,找不到了,或者无法进行运算的时候,考虑设置到它身上的元表的元方法 2、元表的本质:其实元表本质上就是普通的表,它只是在功 ......
自己动手实现Lua(一)
二进制chunk:一段可以被lua解释器执行的代码就叫做chunk(写的代码)。 预编译:为了获得更高的执行效率,Lua并不是直接解释执行chunk,而是先由编译器编译成内部结构(其中包含字节码等信息),然后再由虚拟机执行字节码。这种内部结构在Lua里就叫作预编译(Precompiled)chunk ......
Redis+lua 实现令牌桶限流算法
使用 lua := redis.NewScript(script) args[0] = strconv.Itoa(fillInterval) args[1] = strconv.FormatInt(time.Now().Unix()*1000, 10) res, err := lua.Run(con ......
【Lua】VSCode 搭建 Lua 开发环境
前言 最近在找工作,基本所有的岗位都会问到 Lua(甚至拼 UI 的都要求会 Lua),咱能怎么办呢,咱也只能学啊…… 工欲善其事,必先利其器。第一步,先来把环境配置好吧! 当前适用版本: LuaBinaries 版本:5.4.2 VSCode 版本:1.77.3 文章最近更新日期:2023.04. ......
Lua5.1到Lua5.2的差异
Lua5.1到Lua5.2的差异 来源 https://zhuanlan.zhihu.com/p/96009862 版本差异 这一节列出Lua5.1到Lua5.2,以及Lua5.2到Lua5.3的版本差异。目前使用得最多的版本可能是Lua5.1这个版本,但是我很推荐将Lua升级到最新的5.3,因为5 ......
GG lua脚本菜单模板
常用写法如下,当然你也可以使用multiChoice或者说是choice配合multiChoice去使用。此处使用的是choice方法实现,是一个比较经典和常规的模板: function main() local m={ '功能一', '功能二', '功能三', '退出脚本' } local g=g ......
lua变量、数据类型、if判断条件和数据结构table以及【lua 函数】
一、lua变量【 全局变量和局部变量和表中的域】 Lua 变量有三种类型:全局变量和局部变量和表中的域。 ▪ 全局变量:默认情况下,Lua中所有的变量都是全局变量。 ▪ 局部变量:使用local 显式声明在函数内的变量,以及函数的参数,都是局部变量。在函数外即使用local去声明,它的作用域也是当前 ......
lua简单实现面向对象
--父类 local Person = { name = "XX" , age = 0 , PrintName = function(self) print("PersonName : "..self.name) end , new = function(self,name,age) obj = { ......
thinkphp:redis+lua实现短信发送频率限制(thinkphp v6.0.12LTS)
一,配置: .env中 [REDIS0] TYPE = redis HOST = 127.0.0.1 PORT = 6379 PASSWORD = 二,php代码: 1,lib\util\SmsRateUtil.php <?php namespace app\lib\util; //短信验证码发送频 ......
redis里使用lua脚本对hash里的数据进行排序
注意:本脚本只适用于数据量较少的集合进行排序,数据量太大会严重影响redis的性能。 local t = redis.call('hgetall', KEYS[1]); local arr = {}; for i, v in pairs(t) do if i % 2 == 0 then local ......
详解 APISIX Lua 动态调试插件 inspect
作者罗锦华,API7.ai 技术专家/技术工程师,开源项目 pgcat,lua-resty-ffi,lua-resty-inspect 的作者。 原文链接 为什么需要 Lua 动态调试插件? Apache APISIX 有很多 Lua 代码,如何在运行时不触碰源代码的情况下,检查代码里面的变量值? ......
基于OpenResty(ngx_lua)的长连接推送服务器
http://www.tuicool.com/articles/zYfAnea 最近实现一个二维码扫描登录的功能,当用户用移动设备扫描PC端页面的二维码之后,移动设备通过常规HTTP短连接向服务器获取认证数据,认证通过后,服务器向PC浏览器主动推送帐号相关信息以完成PC端页面的登录。 服务器主动向浏 ......
详解事务模式和Lua脚本,带你吃透Redis 事务
摘要:Redis事务包含两种模式:事务模式和Lua脚本。 本文分享自华为云社区《一文讲透 Redis 事务》,作者: 勇哥java实战分享。 准确的讲,Redis事务包含两种模式:事务模式和Lua脚本。 先说结论: Redis的事务模式具备如下特点: 保证隔离性; 无法保证持久性; 具备了一定的原子 ......
通过 lua 进行 nginx redis 访问控制
Nginx来处理访问控制的方法有多种,实现的效果也有多种,访问IP段,访问内容限制,访问频率限制等。 1. 需求分析 1. Nginx来处理访问控制的方法有多种,实现的效果也有多种,访问IP段,访问内容限制,访问频率限制等。 2. 用Nginx+Lua+Redis来做访问限制主要是考虑到高并发环境下 ......
一文讲透 Redis 事务 (事务模式 VS Lua 脚本)
准确的讲,Redis 事务包含两种模式 : 事务模式 和 Lua 脚本。 先说结论: Redis 的事务模式具备如下特点: 保证隔离性; 无法保证持久性; 具备了一定的原子性,但不支持回滚; 一致性的概念有分歧,假设在一致性的核心是约束的语意下,Redis 的事务可以保证一致性。 但 Lua 脚本更 ......
基于 Nginx&Lua 实现自建服务端埋点系统
前言 埋点数据一般取决于服务提供商想从用户身上获取什么信息。通常来讲,主要分为用户的基本属性信息和行为信息。用户的基本属性信息主要包括:年龄、性别、设备等。行为信息即用户的点击行为和浏览行为,在什么时间,哪个用户点击了哪个按钮,浏览了哪个页面,浏览时长等等的数据。 基本属性信息和行为信息又可以称之为 ......
Redis事务与Lua脚本
Redis的事务没办法保证一致性,使用Lua脚本也不能保证。Lua脚本能保证一致性,而且比redis的事务实习要简洁健壮。 转载:https://maimai.cn/article/detail?fid=1538576512&efid=SQ3XsywteU9lIxil766Lxw ......
lua快速入门~在js基础上,知道Lua 和 Js 的不同即可
☺ lua 和 javaScript 差不多的,就是一些语法的细节不同,学过js,再注意一下下面的细节,就能上手了~ 快速入门,可以直接看一下菜鸟教程的lua:https://www.runoob.com/lua/lua-tutorial.html Lua 和 Js 的不同 Lua 概述 Lua概述 ......
redis使用setnx+lua实现分布式锁
在Redis中,使用SETEX命令(对应RedisTemplate的setIfAbsent方法)可以实现一个最简易的分布锁。SETEX命令当key不存在的话,才会设置key的值,如果可以已经存在,就不做任何操作。 为了避免锁无法被释放,就给这个key(也就是锁)设置一个过期时间。 为了保证解锁操作的 ......