redis Lua学习与坑

1.在写lua脚本往redis中添加zadd 有序集合的时候一直报 "value is not a valid float"的错误,经过查询相关资料,最后发现,是顺序写反了。

相关代码

--[错误代码]
redis.call('zadd',@TimeOrderKey,objRecord.ActivityID,@TimeScore);--[应该时间在前,value在后,这里反了。]
--[正确代码:]
redis.call('zadd',@TimeOrderKey,@TimeScore,objRecord.ActivityID); 

 

 2.redis中实务transaction和lua脚本,都不能使用同时使用scan游标和zrem。

原因是这样的,scan等这些是拷贝副本到本地,不能保证原子性,如果修改了数据库就会造成数据出错。

posted @ 2017-05-02 19:57  WangwangJie  阅读(930)  评论(0编辑  收藏  举报