在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Code -> GigHubhttps://github.com/liufengji/redis_seckill.git 1、概念http://www.lua.org/download.html Lua是一个小巧的脚本语言,用标准C语言编写并以源代码形式开放,因此Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能,Lua并没有提供强大的库,一个完整的Lua解释器不过200k,所以Lua不适合作为开发独立应用程序的语言,而是作为嵌入式脚本语言。 Lua 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组于 1993 年开发的,该小组成员有:Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo。 很多应用程序、游戏使用LUA作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。这其中包括魔兽争霸地图、魔兽世界、博德之门、愤怒的小鸟等众多游戏插件或外挂。 2、LUA脚本在Redis中的优势seckill.lua (1)将复杂的或者多步的redis操作,写为一个脚本,一次提交给redis执行,减少反复连接redis的次数。提升性能。 (2)LUA脚本是类似redis事务,有一定的原子性,不会被其他命令插队,可以完成一些redis事务性的操作。 但是注意redis的lua脚本功能,只有在2.6以上的版本才可以使用。 (3)利用lua脚本淘汰用户,解决超卖问题。 (4)redis 2.6版本以后,通过lua脚本解决争抢问题,实际上是redis 利用其单线程的特性,用任务队列的方式解决多任务并发问题。 3、利用lua脚本淘汰用户,解决超卖问题。redis 2.6版本以后,通过lua脚本解决争抢问题,实际上是redis 利用其单线程的特性,用任务队列的方式解决多任务并发问题 Nginx 支持 Lua ,Redis支持Lua,面对高并发可以选择Nginx+Lua+redis,替代掉Tomcat+mysql |
请发表评论