这段代码可以保证数据的一致性吗 | php 技术论坛-金年会app官方网
function updatezsetscorewithlua($key, $member, $increment) {
global $redis;
$luascript = "
local member = argv[1]
local increment = tonumber(argv[2])
local zsetname = keys[1]
local originalscore = redis.call('zscore', zsetname, member)
local newscore
if originalscore then
newscore = math.floor(tonumber(originalscore)) increment
else
newscore = increment
end
redis.call('zadd', zsetname, newscore, member)
return newscore
";
return $redis->eval($luascript, [$key, $member, $increment], 1);
}
本作品采用《cc 协议》,转载必须注明作者和本文链接