1
0Vincent0Zhang0 2021-11-05 22:37:19 +08:00 via Android 1
存入 hash 就无法单用户过期了,过期就是整个 hash 过期的。
把 userid 作为 cache key 的一部分,当做 string value 来存取就可以了。 |
2
sytnishizuiai OP @0Vincent0Zhang0 #1 我是想,存 hash 管理起来方便,不会上万或者几十万 key 分散。然后过期 15 或 30 天,即使不常登录的也会一个周期后过滤掉。
|
3
0Vincent0Zhang0 2021-11-05 22:48:10 +08:00 via Android 1
@sytnishizuiai 自己做定时任务扫描 hash 清理过期数据?还是对整个 hash 做固定时间过期,包括最近有登录的用户全部一起过期?
|
4
sytnishizuiai OP @0Vincent0Zhang0 #3 目前是直接对 hash 做固定时间过期,虽然会把最近登录的用户一起清除了,我当时想一个 hash 管理起来方便,一个是重新存 hash 的时候,每个用户不同时间使用的时候才存,不会同时触发。
|
5
0Vincent0Zhang0 2021-11-05 23:12:28 +08:00 via Android
@sytnishizuiai 整个 hash 被删掉之后,数据库顶得住就没问题的。
|
6
alexzz117 2021-11-05 23:32:55 +08:00 1
直接用 userid 做 key 就行了,没不要 hash ,加个前缀做分类,与其他的 key 区分
|
7
sytnishizuiai OP @0Vincent0Zhang0 #5 这还行,因为很普通的数据,而且项目原因 用户不是频繁登录的,目前就怕 hash 几十万个数据撑得住哇。
@alexzz117 #6 你跟楼上一样的想法,这样活跃用户可以缓存常驻,非活跃也不用考虑了,能区分开。 |
8
raysonlu 2021-11-06 09:43:08 +08:00
我上一个项目就是这么搞优化的
|
9
sytnishizuiai OP @raysonlu #8 怎么搞的啊?请教下
|