基本情况如下:
我有两个接口:
config 接口
upload 接口
客户端先请求 config 接口,config 会返回当前服务器时间戳 timestamp
和 sessionid
;
客户端再请求一次或多次 upload 接口,请求的参数有 config 接口返回的 timestamp
和 sessionid
.
我需要每隔 5min 统计 sessionid 持续时间在 30min 内的数量。
意思是某个 sessonid 如:s1 持续时间在 30min 内算一次,在 60min 内算两次。
我现在有一个方案是: 对每一个 upload 请求的 sessionid 做为 redis 的 key,setNX,TTL 为 30min, 如果设置成功计数器 +1,5min 后,计数器置 0 。
这个方案的问题是,同一时刻有大量的 redis key 过期,想请教老哥们有没有好的解决方案。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.