有时候我们需要限制一个API访问的频率,例如单用户一分钟之内只能访问多少次。类似于这样的需求很容易用Redis来实现。?phprequire('predis/src/Autoloader.php');$redis=newPredis\Client(array('scheme'='tcp','host'='127.0.0.1','port'='6379'));$redis-auth('123456');//这个key记录该用户1的访问次数$key='user:1:api_count';//限制次数为10$limit=10;$check=$redis-exists($key);if($check){$redis-incr($key);$count=$redis-get($key);if($count10){exit('yourhavetoomanyrequest');}}else{$redis-incr($key);//限制时间为60秒$redis-expire($key,60);}$count=$redis-get($key);echo'Youhave'.$count.'request';//......//API业务逻辑echo'br/';echo'Hello,World!Thisistheapicontent.';?上面的代码实现了,在60秒内单用户最多只能访问API10次。这样的需求使用缓存来处理是非常合适的,当用户量很多的时候,计数量会很大,而且这些数据并不需要长久保存,用数据库存储显然不划算。