不管是什么程序,都讲究原子性
原子性,通俗来说,就是处理数据时不会被任何操作插队
具体的可以看一下这篇文章,个人觉得通俗易懂
如何优雅地用Redis实现分布式锁?
https://baijiahao.baidu.com/s?id=1623086259657780069&wfr=spider&for=pc
主要还是了解一下redis中如何使用lua脚本(不想用linux命令的兄贵,可以用redis中eval()函数)
# script: 你的lua脚本
# numkeys: key的个数
# key: redis中各种数据结构的替代符号
# arg: 你的自定义参数
# scriptsha: 加密串
# linux执行脚本命令
redis-cli --eval script key1 key2 , arg1 arg2
# 将脚本内容加载到Redis内存中,可节省资源,会得到一个sha加密串
redis-cli script load “$(cat script)”
# 用上面的加密串来执行脚本
redis-cli --evalsha scriptsha key1 key2 , arg1 arg2
以下是我写了一下最基本的类
首先安装一下redis公共类
composer require predis/predis
至于lua脚本,看一下语法,都能上手最基础的,这里就不多说了