一、lua脚本概念
Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能
lua的基本语法:https://www.runoob.com/lua/lua-tutorial.html
二、springboot整合lua脚本后操作redis的好处
- 可将多个redis操作整合成一个脚本命令,一起交给redis执行,避免发生数据不一致的问题
- 因为一起交给redis执行,所以减少了多次网络请求的开销,提高了效率
注意:lua脚本基于redis单线程执行,但没有实现原子性,也就是如果执行期间出现运行错误,之前执行过的命令是不会回滚的
三、具体操作
1、编写lua脚本,这里我写了两个,分别是lua1和lua2
lua1.lua:首先是通过KEYS[i]和ARGV[i]分别接收传递过来的key值和value值,然后判断user_set集合中是否存在当前用户的user_id,如果存在,则证明该用户曾经操作过,需要执行的是取消操作,因此需要将该用户的user_id从user_set集合中移除,并且将总记录数nums减一;user_set集合中 如果
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/153433.html