• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Redis实战(23)Redis使用Lua脚本

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

序言

Lua 脚本功能是 Reids 2.6 版本的最大亮点, 通过内嵌对 Lua 环境的支持, Redis 解决了长久以来不能高效地处理 CAS (check-and-set)命令的缺点, 并且可以通过组合使用多个命令, 轻松实现以前很难实现或者不能高效实现的模式。

Redis中Lua的常用命令

命令不多,就下面这几个:
- EVAL
- EVALSHA
- SCRIPT LOAD - SCRIPT EXISTS
- SCRIPT FLUSH
- SCRIPT KILL

实例:使用Lua控制IP访问频率

需求:实现一个访问频率控制,某个IP在短时间内频繁访问页面,需要记录并检测出来,就可以通过Lua脚本高效的实现。

 

Java版本

https://www.ixigua.com/6731228105215590926?logTag=RiwSQWkIId2T-LKQilxV3

.net版本

Redis如何使用LuaScript呢?

直接上代码实菜吧,写一个模糊查询key的方法

        /// <summary>
        /// 判断是否存在包含keyPattern的key
        /// </summary>
        /// <param name="keyPattern"></param>
        /// <returns></returns>
        public bool ExistPatternKey(string keyPattern) 
        {
            var script = "return redis.call('keys',@pattern)";
            var prepared = LuaScript.Prepare(script);
            var cacheResult= cache.ScriptEvaluate(prepared, new { pattern = keyPattern });
            if (cacheResult.IsNull)
            {
                return false;
            }
            return ((string[])cacheResult).Length > 0;
        }

资料

StackExchange.Redis模糊查询


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
lua调用的c函数模块命名规则发布时间:2022-07-22
下一篇:
Cocos2d-lua 精灵模糊 shader发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap