目前想到的方案
- Redis List ,每个 element 对应一个 Hash Map
- 一个用 sync.RWMutex 实现共享锁的队列,每个 element 储存一个 Hash Map
但这两个还是得用 O(n)的时间复杂度去遍历,才能知道前面有多少个元素
[]{
{"12345": true},
{"23561": false},
{"23562": false},
}
补充:业务场景储存的键本来就是有序的,且与创建时间相关。而值是一个 bool 值。感觉性能优化的难点还是在需要知道前面还有多少个键值对是先于他创建且没有被删除的,Redis List 的索引不会动态更新,因此没法在前面有成员被删除后知道前面实际还有多少个成员
|