mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-09-24 16:05:44 +08:00
16 lines
710 B
Lua
16 lines
710 B
Lua
-- 原子双写正向+反向索引
|
|
-- KEYS[1] = affinity:{groupID}:{userID}/{clientID} (正向: member → accounts)
|
|
-- KEYS[2] = affinity_rev:{groupID}:{accountID} (反向: account → members)
|
|
-- ARGV[1] = 当前时间戳 (score)
|
|
-- ARGV[2] = TTL 秒数
|
|
-- ARGV[3] = accountID (正向索引的成员)
|
|
-- ARGV[4] = 过期阈值时间戳 (now - ttl)
|
|
-- ARGV[5] = {userID}/{clientID} (反向索引的成员)
|
|
redis.call('ZREMRANGEBYSCORE', KEYS[1], '-inf', ARGV[4])
|
|
redis.call('ZADD', KEYS[1], ARGV[1], ARGV[3])
|
|
redis.call('EXPIRE', KEYS[1], ARGV[2])
|
|
redis.call('ZREMRANGEBYSCORE', KEYS[2], '-inf', ARGV[4])
|
|
redis.call('ZADD', KEYS[2], ARGV[1], ARGV[5])
|
|
redis.call('EXPIRE', KEYS[2], ARGV[2])
|
|
return 1
|