博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP-Redis-Lua脚本解决访问限制
阅读量:6078 次
发布时间:2019-06-20

本文共 527 字,大约阅读时间需要 1 分钟。

hot3.png

1. Redis Lua PHP脚本

function limit()

{

$redis = new Redis();

$redis->connect('127.0.0.1', 6379);

$luaScript = <<<LUA

local times = redis.call('incr',KEYS[1])

if times == 1 then

   redis.call('expire',KEYS[1], ARGV[1])

end

if times > tonumber(ARGV[2]) then

   return 0

end

return 1

LUA;

$sha = $redis->script("load", $luaScript);

$result = $redis->evalSha($sha, Array('rate', 10, 3), 1);

}

var_dump(limit());

2. limit() 返回值0、1

    Array('rate', 10, 3)

    rate Key, 10, 3 10s内访问3次,3次内返回值1,大于3次0

转载于:https://my.oschina.net/tpythoner/blog/544138

你可能感兴趣的文章
使用excel 展现数据库内容
查看>>
C#方法拓展
查看>>
MySql.Data.dll的版本
查看>>
Linux系统磁盘管理
查看>>
hdu 2191 (多重背包+二进制优化)
查看>>
home.php
查看>>
neo4j---删除关系和节点
查看>>
redis分布式锁redisson
查看>>
什么样的企业可以称之为初创企业?
查看>>
Python爬虫之BeautifulSoup
查看>>
《HTML 5与CSS 3权威指南(第3版·下册)》——第20章 使用选择器在页面中插入内容...
查看>>
如何判断自己适不适合做程序员?这几个特点了解一下
查看>>
newinstance()和new有什么区别
查看>>
android下载封装类
查看>>
[node] 用 node-webkit 开发桌面应用
查看>>
Nginx访问控制和虚拟主机
查看>>
report widget not working for external users
查看>>
windows phone 摄像头得到图片是旋转90°
查看>>
Linux--sed使用
查看>>
没有显示器的情况下安装和使用树莓派
查看>>