lua
文章平均质量分 91
老猿说说
Java老猿
展开
-
lua-1 安装-基础
Lua原创 2017-07-24 23:18:43 · 432 阅读 · 0 评论 -
redis+lua 实现分布式令牌桶,高并发限流
原文:https://blog.csdn.net/sunlihuo/article/details/79700225 方案一、在提供给业务方的Controller层进行控制。 1、使用guava提供工具库里的RateLimiter类(内部采用令牌捅算法实现)进行限流 2、使用Java自带delayqueue的延迟队列实现(编码过程相对麻烦,此处省略代码) 3、使用Redis实现,存储两个key,一...转载 2019-01-30 16:41:11 · 312 阅读 · 0 评论 -
2 lua
nginx.conf#user nobody; worker_processes 2; events { worker_connections 1024; } http { include mime.types; default_type text/html; lua_package_path "/usr/servers/lualib/?.lua;转载 2017-10-25 23:30:49 · 175 阅读 · 0 评论 -
1 安装OpenResty(Nginx+Lua)开发环境
首先我们选择使用OpenResty,其是由Nginx核心加很多第三方模块组成,其最大的亮点是默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用。借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。目前在京东如实时价格、秒杀转载 2017-08-03 22:34:12 · 501 阅读 · 0 评论 -
lua-8 OOP/数据库
Lua 中面向对象我们知道,对象由属性和方法组成。LUA中最基本的结构是table,所以需要用table来描述对象的属性。 lua中的function可以用来表示方法。那么LUA中的类可以通过table + function模拟出来。 至于继承,可以通过metetable模拟出来(不推荐用,只模拟最基本的对象大部分时间够用了)。 Lua中的表不仅在某种意义上是一种对象。像对象一样,表也有状态(原创 2017-07-31 19:16:52 · 387 阅读 · 0 评论 -
lua-7 io/异常/调试/垃圾回收
Lua I/O 库用于读取和处理文件。分为简单模式(和C一样)、完全模式。 简单模式(simple model)拥有一个当前输入文件和一个当前输出文件,并且提供针对这些文件相关的操作。 完全模式(complete model) 使用外部的文件句柄来实现。它以一种面对对象的形式,将所有的文件操作定义为文件句柄的方法 简单模式在做一些简单的文件操作时较为合适。但是在进行一些高级的文件操作的时候,简原创 2017-07-30 23:41:56 · 570 阅读 · 0 评论 -
lua-6 协同程序(coroutine)
什么是协同(coroutine)? Lua 协同程序(coroutine)与线程比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。 协同是非常强大的功能,但是用起来也很复杂。线程和协同程序区别 线程与协同程序的主要区别在于,一个具有多个线程的程序可以同时运行几个线程,而协同程序却需要彼此协作的运行。 在任一指定时刻只有一个协同程序在运原创 2017-07-30 22:25:13 · 341 阅读 · 0 评论 -
lua-4 数组与迭代、元表
一维数组多维数组原创 2017-07-30 20:02:48 · 1008 阅读 · 0 评论 -
lua-5 模块与包
require-- 文件名为 module.lua -- 定义一个名为 module 的模块 module = {}-- 定义一个常量 module.constant = "这是一个常量"-- 定义一个函数 function module.func1() io.write("这是一个公有函数!\n") endlocal function func2() print("这是一个私有函数原创 2017-07-30 20:46:35 · 286 阅读 · 0 评论 -
lua-3 字符串
字符串原创 2017-07-30 13:08:31 · 293 阅读 · 0 评论 -
lua-2 逻辑控制和函数
whilea=10 while( a < 20 ) do print("a 的值为:", a) a = a+1 endforfor i=10,1,-1 do print(i) end遍历--打印数组a的所有值 for i,v in ipairs(a) do print(v) end untila = 10 --[ 执行循环 --] repeat print原创 2017-07-29 23:36:42 · 379 阅读 · 0 评论 -
lua秒杀
秒杀场景 用户秒杀,后端服务接收到请求之后的操作步骤: 校验请求参数 解析用户信息 解析所秒商品信息,及秒商品数量 校验用户在限定的时间内是否秒过 校验库存是否充足 扣库存 记录用户秒单记录 异步写订单记录 返回请求 问题 在上面所描述的步骤中 校验库存与扣库存,存在先后顺序,但是并没有原子性。在关系数据库中,可以通过事务来解决这个问题,但是关系数据库性能有瓶颈。当然在请求量可以控制的情况下,使用...转载 2019-01-30 16:45:18 · 666 阅读 · 0 评论