redis 大key怎么处理?
业务:一项任务,开始任务时,将任务中的某项数据按照每5s保存一次到redis的list中,结束时删除redis(目前是这样)。想查数据时直接查redis
问题:上述情况将导致list的数据过大(因为不知道这项任务执行多久) 导致大key
现在想怎么处理这个大key
个人想到了:设置一个定时任务,每30分处理一次这个大key,将数据保存到数据库中 。先查数据时就查数据库和redis,将这两种实时数据整合,返回前端 (不知可行不可行)
回复
1个回答

test
2024-07-14
这个方法是可行的。将数据保存到数据库中,然后在查询数据时同时查询数据库和 redis 并将数据整合,返回给前端是一个不错的方法。
你可以考虑在结束时直接将数据保存到数据库中,而不是在结束后再设置一个定时任务来处理大 key。另外,你也可以考虑每隔一段时间将数据从 redis 中转存到数据库中,以避免 redis 中 key 过大。
在这种情况下,使用数据库来存储数据可能是一个更好的选择,因为数据库可以提供更强大的存储能力和查询功能,并且可以更好地管理数据。
总的来说,不同的情况可能需要不同的解决方案,你可以根据自己的情况选择最合适的解决方案。
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容