示例
示例
SADD inbox:u1 m1 m2
SADD archive:u1 m2
SMOVE inbox:u1 archive:u1 m1 # 1:m1 移入 archive
SMEMBERS inbox:u1 # m2
SMOVE inbox:u1 archive:u1 m2 # 1:源删除 m2;archive 本来就有 m2,不重复
SMOVE inbox:u1 archive:u1 m9 # 0:m9 不在源里| 返回 | 1 移动成功 / 0 源中不存在 |
|---|---|
| 原子性 | 单命令,跨键原子 |
| 目标已存在 | 仍从源删除(去重语义) |
状态机流转(待处理->处理中)用 SMOVE 很自然;若流转时要保留原集合并记录时间,考虑 ZSet 打分方案。