java调用lua后序列化_Redisson lua脚本踩坑----序列化

Redisson lua

Redis支持使用lua脚本来执行原子操作,Redisson中也提供了RScript接口,用于执行lua脚本,并提供了实现类RedissonScript。

1. API举例:

RedissonScript.eval(Mode mode, String luaScript, ReturnType returnType, List keys, Object... values);

在lua脚本中可以用KEYS、ARGV数组(两个数组下标均从1开始)来接收keys和values,需要注意的是value会进行序列化(并不是RScript的ARGV如此,redisson在存储时,都会对value进行序列化)。

2. redisson序列化特性

假设有一个hash结构,key是room,field是roomId,value是Long型的{roomId}。那么通过redisson API写入可以观察到redis中的field和value结构分别如下图所示:

ea5585bbd295861bb8a7967c7dbbf061.png

特别强调的是,图中的首尾的双引号字符以及反斜杠,在实际的field和value中并不存在,这只是通过redis cli查询时显示效果。

实际上redis中的field是:

"roomId"

复制代码

value是:

["java.lang.Long",12345

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值