2
AerospikeレコードはUDFアトミックですか?Aerospike Record UDFはアトミックですか?
function increment_and_expire(rec, incValue, expireThreshold, currentTime)
if aerospike:exists(rec) then
local timesUsed = rec['timesUsed']
if timesUsed == expireThreshold or rec['validUpto'] < currentTime then
rec['expired'] = true
else
rec['timesUsed'] = timesUsed + incValue
end
aerospike:update(rec)
return 1
else
warn("record doesn't exists")
return -1
end
end
上記のLua関数は、トークンの使用を増やし、それがもはや有効でない場合は期限切れとマークします。 今、私の疑いは、同時レコードが同じレコードであり、この機能が同時に実行されている場合、それは問題を引き起こすでしょうか?