【已解决】在RedisTemplate调用Lua脚本是时候,错误提示:attempt to compare nil with number

  • 作者: 凯哥Java(公众号:凯哥Java)
  • Redis
  • 时间:2022-12-28 23:44
  • 7692人已阅读
简介 在RedisTemplate调用Lua脚本是时候,错误提示:attempttocomparenilwithnumber。如下图:脚本的第14行,使用了tonumber函数,在执行的时候,报错了。说nil不能和number进行比较。分析错误原因:在tonumber函数中其实,是从Redis中获取缓存key为stockKey的值,然后将其转换成数字之后和0进行比较。因为Redis中,目前还没有stoc

🔔🔔🔔好消息!好消息!🔔🔔🔔

有需要的朋友👉:联系凯哥 微信号 kaigejava2022

在RedisTemplate调用Lua脚本是时候,错误提示:attempt to compare nil with number 。如下图:

f01f64db75b35ef2164b94944056365c.png

脚本的第14行,使用了tonumber函数,在执行的时候,报错了。说nil不能和number进行比较。

分析错误原因:

在tonumber函数中其实,是从Redis中获取缓存key为stockKey的值,然后将其转换成数字之后和0进行比较。因为Redis中,目前还没有stockKey这个key.所以返回了nil.

解决办法:

将对应的key存放到Redis中就可以了。

总结:

存放缓存的时候,注意缓存的key要和脚本中的key保持一致

TopTop