`

redis使用lua脚本

阅读更多
在redis使用lua脚本的好处
减少网络开销。可以将多个请求通过脚本的形式一次发送,减少网络时延。
原子操作。Redis会将整个脚本作为一个整体执行,中间不会被其他请求插入。因此在脚本运行过程中无需担心会出现竞态条件,无需使用事务。
复用。客户端发送的脚本会永久存在redis中,这样其他客户端可以复用这一脚本,而不需要使用代码完成相同的逻辑。


在redis中使用lua脚本
//返回redis中KEYS[1] 的值
retrun redis.call('GET',KEYS[1])

local a=redis.call('TIME');
local b = (a[1]*1000000+a[2])/1000;


test.lua

Redis 脚本
Redis 脚本使用 Lua 解释器来执行脚本。 Redis 2.6 版本通过内嵌支持 Lua 环境。执行脚本的常用命令为 EVAL。


SCRIPT LOAD script
将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本。

SCRIPT EXISTS script [script ...]
查看指定的脚本是否已经被保存在缓存当中。

EVAL script numkeys key [key ...] arg [arg ...]
执行 Lua 脚本。

SCRIPT FLUSH
从脚本缓存中移除所有脚本。


执行Lua脚本文件
如:redis-cli -a 123456 --eval ./test.lua userName , zhangsan lisi


分享到:
评论

相关推荐

    Java学习资料-Spring Boot - 结合 Redis 使用 Lua脚本

    结合Redis使用Lua脚本可以提升应用的性能和可靠性,特别是在处理高并发、复杂业务逻辑以及事务处理时。以下是对这个主题的详细阐述: 首先,让我们深入了解一下使用Lua脚本在高并发场景中的价值。在并发环境中,...

    SpringBoot+Redis执行lua脚本的方法步骤

    SpringBoot+Redis 执行 Lua 脚本的方法步骤 以下是 SpringBoot+Redis 执行 Lua 脚本的方法步骤的知识点总结: ...使用 Lua 脚本可以实现 Redis 的事务操作,具有原子性、减少网络开销和复用性等优点。

    redis.lua lua脚本语言

    lua链接redis的工具驱动代码

    基于redis和lua脚本的分布式锁的实现

    基于Redis和Lua脚本的分布式锁的实现是使用Redis和Lua脚本来实现分布式锁的技术。分布式锁是指在分布式系统中,多个节点之间需要协调和同步的机制,以避免同时访问共享资源的竞争问题。Redis是一个开源的、基于内存...

    java+redis+lua实现重复提交操作拦截.zip

    - Redis支持在服务器端执行Lua脚本,这可以减少网络通信次数,提高性能和原子性。 - 在这个项目中,可能会有一个Lua脚本,用于在Redis中执行锁定和解锁操作,确保整个过程的原子性。例如,脚本可能会检查key是否...

    Redis执行Lua脚本的好处与示例代码

    Redis执行Lua脚本的功能在2.6版本引入,极大地增强了Redis的数据处理能力。Lua是一种轻量级的脚本语言,由于其简洁的语法和高效执行,成为Redis内部扩展功能的理想选择。以下是关于Redis执行Lua脚本的一些核心知识点...

    一个用于调试 Redis Lua 脚本的 Redis Lua 脚本.zip

    一个用于调试 Redis Lua 脚本的 Redis Lua 脚本redis-lua-调试器rld 是针对在 Redis 中运行的 Lua 脚本的非交互式调试器。请参阅此文章了解运行时示例。rld 的功能包括简单且本地安装,仅~6KB 有效负载。将输出打印...

    Spring Boot通过自定义注解和Redis+Lua脚本实现接口限流教程配套源码

    在我们日常开发的项目中为了保证系统的稳定性,很多时候我们需要对系统接口做限流处理,它可以有效防止恶意请求对系统造成过载,本章节博主将给大家介绍使用自定义注解和Redis+Lua脚本实现接口限流。

    Redis+LUA脚本实现限流

    Redis+LUA脚本实现限流测试视频

    SpringBoot-redis-lua

    1. **Lua脚本优点**: Lua脚本在Redis中执行是原子性的,能确保在并发环境下数据的一致性。此外,通过减少网络往返,提高了数据操作的效率。 2. **`EVAL`命令**: Redis提供了`EVAL`命令来执行Lua脚本。Lua脚本作为...

    秒杀系统,高并发,Redis,Lua脚本,Golang,Gin.zip

    秒杀系统,高并发,Redis,Lua脚本,Golang,Gin.zip

    redis-lua-debugger.zip

    rld 是一个非交互的调试工具,用于调试 Redis 的 Lua 脚本,这里有篇详细介绍的文章。 rld 特性包括: 易于安装,只有 6kB 可打印输出到本地和远端 跟踪执行的代码行 先进的数值变化的自动监控机制报告 报告...

    31拓展 10:法力无边 —— Redis Lua 脚本执行原理(1).md

    在Redis中,用户可以使用Lua脚本来执行自定义操作。当Lua脚本被传送到Redis服务器时,Redis会以单线程的方式顺序地执行这些脚本。在执行过程中,Redis会保证脚本是原子性的,这意味着脚本一旦开始执行,其他客户端的...

    Golang使用lua脚本实现redis原子操作

    Golang与Redis结合使用Lua脚本,能够有效地实现原子操作,从而提高系统的稳定性和效率。 首先,Redis是一个开源的键值存储系统,它广泛用于数据缓存、消息队列以及复杂的数据结构存储。Lua是一种轻量级的脚本语言,...

    redis和lua

    1. **Lua 脚本执行**: Redis 支持使用 Lua 脚本来执行一系列操作,保证原子性。这在需要复杂逻辑且保证一致性的场景中非常有用,如计数、操作多个键等。 2. **优化性能**: 由于 Lua 脚本在服务器端执行,减少了网络...

    icicle:使用Redis和Lua的分布式k分类唯一ID生成系统

    Icicle是一个使用Redis的Lua脚本以分布式方式生成64位,k可排序唯一ID的项目。 可以使用和以任何语言编写Icicle的实现。 。 冰柱v1.x用户: v2.x中有一些重要的重大更改! 请以获取更多信息。 使用冰柱 设置您的...

    lua-redis:lua reis nginx 配制 及 redis.lua 脚本

    lua reis nginx 配制 及 redis.lua 脚本 redis.lua 脚本 支持 get, post redis 的hash, 及 集合 命令 开启redis的密码认证auth nginxlua.conf 配制 lua地址: 示列: redis_lib.php 为PHP类包 redis_lua 类

    phpredis执行LUA脚本示例代码

    LUA脚本在Redis中的使用是为了实现原子操作,确保数据一致性,尤其是在处理多个操作时。本篇文章主要探讨如何通过phpredis执行LUA脚本来实现特定的Redis操作。 首先,我们需要了解LUA脚本的基本结构。在示例代码中...

    redis面试题之LUA脚本.zip

    LUA脚本的使用是Redis的一个重要特性,它允许用户在服务器端执行复杂的逻辑,从而避免了多次网络往返,提高了效率。现在,让我们深入探讨一下Redis中的LUA脚本及其相关知识点。 首先,我们需要理解为什么Redis会...

    Go语言中通过Lua脚本操作Redis的方法

    Lua脚本在Redis中有一些限制,比如不能引入额外的包,只能使用内置的`redis`包。同时,所有的变量必须使用`local`声明,脚本返回的值在Go中会有特定的类型映射。例如,返回`nil`时,在Go中会表现为`redis.Nil`,返回...

Global site tag (gtag.js) - Google Analytics