• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

黑猴子的家:LUA脚本(Redis 秒杀案例)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Code -> GigHub

https://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
电商 最热访问页面,很多都是使用Nginx+Lua+redis


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
lua在mac下环境场景搭建发布时间:2022-07-22
下一篇:
lua垃圾回收之空表发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap