redis运维(二十)redis 的扩展应用 lua(二)

一  redis 的扩展应用 lua

redis lua脚本语法

①  什么是脚本缓存

redis '缓存lua脚本'

说明: 重启redis,脚本缓存会'丢失'

下面讲解 'SCRIPT ...' 系列

SCRIPT

②  LOAD

语法:SCRIPT LOAD 'lua代码' -->载入一个脚本,只是'预加载','不执行'思考1: 何时'加载'? --> evalshaSCRIPT LOAD "redis.call('SET', KEYS[1], ARGV[1]);\redis.call('EXPIRE', KEYS[1], ARGV[2]); return 1;"SCRIPT LOAD 加载'脚本',并得到'sha1值'

③  EXISTS

作用:1、给定'一个或多个脚本'的 SHA1 校验和2、返回一个包含 '0 或 1' 的列表,表示'校验和'所'指定的脚本'是否已经被保存'在缓存'当中

④  KILL

这个命令主要用于终止'运行时间过长'的脚本,比如一个因为 BUG 而发生无限 loop 的脚本,诸如此类.

 

语法: SCRIPT KILL 即可  --> '无多余'的参数lua脚本的'最大运行'时间:是需要被'严格限制',单位是'毫秒':lua-time-limit 5000 '[5秒]'

 

1、lua脚本'死'循环备注: 'redis6'+ 支持'多线程'

2、Script Kill 的'原理'

⑤  FLUSH

命令'格式':SCRIPT FLUSH作用: '清除' redis服务端 '所有 Lua 脚本缓存'

⑥  DEBUG

redis 从 '3.2.0' 开始支持 Lua debugger,可以加'断点、print 变量信息、调试'正在执行代码# 进入 debuge 模式redis-cli --ldb  --eval ./wzj.lua  key1 key2 , arg1 arg2 arg3

⑦  EVALSHA

redis中缓存Lua 脚本

语法: EVALSHA sha1 numkeys 'key [key ...]'  'arg [arg ...]'

'案例'讲解

⑧  EVAL和EVALSHA区别

1、eval执行的脚本'不从缓存里拿[一次性消耗品]'2、而'evalsha'执行的脚本'从缓存'拿,后跟'sha1校验码'从服务器'缓存里拿'

⑨  pipeline和lua的区别


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/217363.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Praat脚本-038 | 批量替换标注TextGrid里的换行符

目录 引题获取脚本运行脚本知识引申关注版权说明 引题 我们在做标注的时候,可能会犯这样一个小错误,就是在标注的内容中间不小心进行了换行,大概会成为这个样子。 这样会有什么问题呢?在提取数据的时候,你会发现&…

群晖NAS基础设置

群晖NAS基础设置 最近一直在玩群晖NAS系统,有一些基础的配置跟大家分享一下 开启ssh登录 1.开启方法 控制面板—>终端和SNMP—>终端机 2.使用ssh软件登录 这里我用SecureCRT登录 进入ssh 3.进入root用户 starstar-nas:~$ sudo su -l root Password: ro…

【React】打包体积分析 source-map-explorer

通过分析打包体积,才能知道项目中的哪部分内容体积过大,方便知道哪些包需要进一步优化。 使用步骤 安装分析打包体积的包:npm i source-map-explorer在 package.json 中的 scripts 标签中,添加分析打包体积的命令对项目打包&…

cocos游戏引擎制作的滚动框地图防止误点操作的简单方法

本篇文章主要讲解,使用cocos creator 来解决在我们日常滚动框开发中,滚动和触摸存在冲突的情况,导致的误触行为的解决办法。 日期:2023年11月25日 具体事项 说明:在我们滚动滚动框时,会出现误点的情况&…

flink源码分析之功能组件(二)-kubeclient

简介 本系列是flink源码分析的第二个系列,上一个《flink源码分析之集群与资源》分析集群与资源,本系列分析功能组件,kubeclient,rpc,心跳,高可用,slotpool,rest,metrics,future。其中kubeclient上一个系列介绍过,为了系列完整性,这里“copy”一下。 kubeclient组件…

Vue3框架中让table合计居中对齐

第一步&#xff1a;给它加一个类名 center-table 如下&#xff1a; <el-table:data"datas.shows"max-height"600px"show-summarystripeborderstyle"width: 100%":header-cell-style"{ textAlign: center }":cell-style"{ text…

别再被面试官问倒了!快速失败与安全失败的区别详解

大家好&#xff0c;我是小米&#xff0c;一个热爱技术分享的程序员大哥哥。今天&#xff0c;我们来聊一个在Java面试中经常会被问到的问题——"快速失败"&#xff08;fail-fast&#xff09;和"安全失败"&#xff08;fail-safe&#xff09;的区别。这两个概…

最大功率传输定理

最大功率传输定理 U为电源电压 r 为电源内阻 R 为负载 计算如下&#xff1a; 可知&#xff0c;当R r 时&#xff0c;负载上的功率最大 为&#xff1a; 从下面的表中也可以看出&#xff0c;当电源内阻r 等于负载负载电阻R时&#xff0c;负载所获得的功率最大。但效率不是最大…

P11 如何写一个C++类 Log日志基础

01 前言 到目前为止&#xff0c;我们学了类 class&#xff0c;本期我们要尝试着从头开始写一个类。 本期不会讲的太深。我们不会写非常复杂的类&#xff0c;我们要会完成一个基本的 log 类 02 为什么使用 log 首先我们先分析一下我们的需求&#xff0c;这个 log 类到底是什么…

活久见!100元起拍的手机号,最终以2614万元成交?评论区炸了!

近日&#xff0c;一起刑事案件案犯的手机号码被江苏省镇江经济开发区人民法院公开拍卖&#xff0c;起拍价仅为100元&#xff0c;然而最终以26145892元的天价被竞买者买下。这个手机号码是18611999999&#xff0c;据网络竞价成功确认书显示&#xff0c;竞买者是一位姓肖的自然人…

pop链反序列化 [MRCTF2020]Ezpop1

打开题目 网站源码为 Welcome to index.php <?php //flag is in flag.php //WTF IS THIS? //Learn From https://ctf.ieki.xyz/library/php.html#%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E9%AD%94%E6%9C%AF%E6%96%B9%E6%B3%95 //And Crack It! class Modifier {protected …

软件设计师:计算机组成与体系结构之计算机基础知识

计算机基础知识 数据的表示 码制及进制转换 原码&#xff1a;将数值转成二进制反码&#xff1a;正数与原码完全相同&#xff1b;负数&#xff0c;除了符号位其他位取反补码&#xff1a;正数与原码完全相同&#xff1b;负数&#xff0c;在补码的基础上加1移码&#xff1a;补码…