php基于redis set集合实现单位时间内次数限制的限流代码

代码语言:phpcli

所属分类:其他

代码描述:php基于redis set集合实现单位时间内次数限制的限流代码

代码标签: php 基于 redis set 集合 单位 时间内 次数 限制 限流 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<?php
function checkrequest($_actkey) {
    $_timeseconds = 5;//5秒内
    $_timescount = 5; //智能访问5次
    $zSetKey = "test12123".$_actkey;
    $redis = new Redis();
    $redis->connect('127.0.0.1', 6379);
    $nowtime = time();

    $startTime = $nowtime- $_timeseconds;
    $requestHistory = $redis->zRangeByScore($zSetKey, $startTime, $nowtime);
    if (count($requestHistory) >= $_timescount) {
        return false;
    } else {
        $value = $nowtime . rand(0, 999);
        $redis ->multi();
 .........完整代码请登录后点击上方下载按钮下载查看

网友评论0