Redis 第9章 案例

63 篇文章 5 订阅
63 篇文章 0 订阅

9案例

1. 手机验证码

需求:

①输入手机号,点击发送后随机生成6位数字码,2分钟有效

②输入验证码,点击验证,返回成功或失败

③每个手机号每天只能输入3次

2. 秒杀

2.1 实现思路

2.2 数据库连接池:

2.3. 使用ab进行压力测试

参数含义:

-c:模拟多少个客户端

-n:测试几次

-T:内容类型

-P:参数文件(注意参数文件的参数要以&符号结尾,注意携带绝对路径)

postarg文件:

2.4 超卖问题

解决:使用乐观锁解决超卖!

2.5 秒杀富余问题

2.5.1 压测脚本

2.5.2 如何解决

使用lua脚本解决!

2.5.3 Lua

    Lua 是一个小巧的脚本语言,Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,Lua并没有提供强大的库,一个完整的Lua解释器不过200k,所以Lua不适合作为开发独立应用程序的语言,而是作为嵌入式脚本语言

很多应用程序、游戏使用LUA作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。这其中包括魔兽争霸地图、魔兽世界、博德之门、愤怒的小鸟等众多游戏插件或外挂。

 

LUA脚本在Redis中的优势:

将复杂的或者多步的redis操作,写为一个脚本,一次提交给redis执行,减少反复连接redis的次数。提升性能。

LUA脚本是类似redis事务,有一定的原子性,不会被其他命令插队,可以完成一些redis事务性的操作。

但是注意redis的lua脚本功能,只有在2.6以上的版本才可以使用。

 

本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源。(关键词java,Linux,大数据,尚硅谷,IT)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值