返回信息流想用redis做类似id白名单的功能,如果此时有多种类型的白名单,比如白名单1,白名单2,白名单3...在读取时需要对每种白名单分别验证一遍,白名单类型可能有几十个。
那么可能有两种方式:
1.用String存储:
redis key为whitelist_1_${id},whitelist_2_${id},whitelist__${id}..., value是true或false。
这样的好处是get时根据id可拼成一个数组,用mget方法批量读取,免去多次查询redis,缺点是创建了大量的key
2.用set存储:
有n个白名单就用n个key:whitelist_1,whitelist_2,whitelist_3..., value存对应类型的id集合
这样的好处是管理简单清晰,缺点是读取时需要调用n次sismember,耗时会增加
那种方式效率更高呢?还有更好的方法吗
这是一条镜像帖。来源:北邮人论坛 / database / #10626同步于 2017/10/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
请教一个redis的问题
Aldebaran
2017/10/25镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。