Slide 40
Slide 40 text
Don’t forget you have Lua at
your fingertip!
1 local ctoken = redis.call('HGET', KEYS[1], '_cas')
2 if (not ctoken) or ctoken == ARGV[2] then
3 local ntoken
4 if not ctoken then
5 ntoken = 1
6 else
7 ntoken = tonumber(ctoken) + 1
8 end
9 redis.call('HMSET', KEYS[1], '_sdata', ARGV[1],
10 '_cas', ntoken, '_ndata', ARGV[3])
11 return ntoken
12 else
13 error('cas_error')
14 end