要做的功能:用户禁言。由于 redis 的超时好像是针对 key 的,不能针对 value,所有用以下方法来曲线救国
方法 1 :
setex room_user1 300 user1;
setex room_user2 300 user2;
根据是否存在键 room_user1 来判断用户发言权限,存在则不可发言,
缺点:会存在大量键,一个禁言用户一个键
方法 2 :
zadd room timestamp+300 user1
zadd room timestamp+300 user2
根据 ZSCORE room user1 获取 时间戳 来判断当前时间是否可发言,
暂时想到这两种,能否从效率,内存开销上分析下哪种比较合适,或者还有什么好的方法?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.