您的位置:首页 > 娱乐 > 八卦 > 如何快速推广自己的网站_世界工厂采购网官网_百度推广一天费用200_大一网页设计作业成品免费

如何快速推广自己的网站_世界工厂采购网官网_百度推广一天费用200_大一网页设计作业成品免费

2025/2/23 7:36:44 来源:https://blog.csdn.net/qq_40397392/article/details/145796742  浏览:    关键词:如何快速推广自己的网站_世界工厂采购网官网_百度推广一天费用200_大一网页设计作业成品免费
如何快速推广自己的网站_世界工厂采购网官网_百度推广一天费用200_大一网页设计作业成品免费

 lua脚本的特点

lua脚本可以操作redis数据库,并且脚本中的代码满足原子性,要么全部被执行,要么全部不执行

lua脚本的语法

脚本示例

lua脚本的草稿:

 最终的lua脚本

lua脚本在java里调用的方法 

RedisTemplete类里有一个方法,接收参数为

RedisScript类(储存lua脚本内容),List类型的 KEYS[]数组,Object类型的ARGY[]数组

1.编写lua脚本文件

保存文件名为unlock.lua

if (redis.call('get', KEYS[1]) == ARGV[1]) then-- 一致则释放锁return redis.call('del', KEYS[1])
end
return 0

2.把lua文件读取为redis的lua脚本,也就是DefaultRedisScript类型的对象

private static final DefaultRedisScript<Long> UNLOCK_SCRIPT;static {UNLOCK_SCRIPT = new DefaultRedisScript();UNLOCK_SCRIPT.setLocation(new ClassPathResource("unlock.lua"));UNLOCK_SCRIPT.setResultType(Long.class);
}

3.在java里执行lua脚本

    @Overridepublic void unlock() {stringRedisTemplate.execute(UNLOCK_SCRIPT,Collections.singletonList(KEY_PREFIX + name),ID_PREFIX + Thread.currentThread().getId());}

这样就把解锁变为了一个原子性的事务

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com