zoukankan      html  css  js  c++  java
  • Redis脚本

      Redis支持使用Lua编写脚本传到Redis服务中执行,在脚本中可以通过redis.call()函数来调用Redis命令。使用脚本的好处有:

        

      以下是脚本文件 scriptName.lua中的Lua代码,实现了不使用事务来完成一个IP地址在10秒内最多访问3次的功能。可以使用Redis客户端来执行这个脚本,如输入命令redis-cli --eval scriptName.lua rate.limiting:127.0.0.1 , 10 3 来执行scriptName.lua脚本(需要注意逗号前后的空格不能省略),代码中的KEYS[1]即是rate.limiting:127.0.0.1,ARGV[1]是10,ARGV[2]是3。

        auto times = redis.call('incr', KEYS[1]) //调用INCR命令获得访问次数
        if times == 1 then //第一次访问
            redis.call('expire', KEYS[1], ARGV[1]) //调用EXPIRE命令设置生存时间
        end
        if times > tonumber(ARGV[2])then
            return 0; //访问次数超限
        end
            return 1; //正常访问
  • 相关阅读:
    华为设备SNMP配置
    Linux CP直接覆盖快速操作
    CentOS7快速安装PHP7.0指南
    Linux SSH免密码登录配置
    this的指向
    分页的模块layui
    multer中间件
    ajax实现图片上传
    MVC模式、加密、jsonwebtoken
    mongoose与express
  • 原文地址:https://www.cnblogs.com/milanleon/p/15737295.html
Copyright © 2011-2022 走看看