虽然 redis 使用了很久,但是很惭愧的是一直以来都只是使用了 string 类型,而且也没有特别看过 redis 的知识,最近正好在看,然后对 bitmap 这个类型有一些疑问。
网上有很多举出 bitmap 的使用场景的博客,大多是统计日活,用户在线数等场景。
不过有一些疑问,如果仅仅只是统计登录数似乎用 bitmap 确实很不错,但是如果要统计具体某些用户登录了,就变得很不方便了。
例如:setbit userOnlineCount20211230 1 1 ... 如果仅仅统计今天有多少用户登录过,似乎一个 bitcount userOnlineCount20211230 就足够了,但是若想知道今天到底有哪些用户登录过,就无法直接实现了。能想到的似乎只能循环 getbit userOnlineCount20211230 offset ,但这样做太离谱了。
所以如果是用 bitmap 的情况下,是不是就无法实现上述的需求?即在能统计出数量的前提下,还能不使用遍历的做法实现查出所有登录用户的 id 。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.