
如何处理 Redis 中的大 key?
针对任务数据实时保存需求,在任务开始时,每 5 秒将数据保存到 Redis 的 list 中。但由于任务执行时长未知,容易导致 list 数据过大,形成大 key。如何有效处理此大 key 成为亟需解决的问题。
处理方法
一种可行的方法是:
- 设置定时任务,每 30 分钟处理一次大 key,将数据保存到数据库中。
- 查询数据时,同时查询数据库和 Redis,整合实时数据后返回给前端。
优点
免费 盛世企业网站管理系统(SnSee)系统完全免费使用,无任何功能模块使用限制,在使用过程中如遇到相关问题可以去官方论坛参与讨论。开源 系统Web代码完全开源,在您使用过程中可以根据自已实际情况加以调整或修改,完全可以满足您的需求。强大且灵活 独创的多语言功能,可以直接在后台自由设定语言版本,其语言版本不限数量,可根据自已需要进行任意设置;系统各模块可在后台自由设置及开启;强大且适用的后台管理支
- 将数据存储到数据库中,具有更强的存储能力和查询功能,缓解 Redis 中 key 过大问题。
- 解决实时数据处理需求,前端可及时获取整合后的数据。
优化建议
- 改进:结束任务时直接将数据保存到数据库,避免后期定时任务处理。
- 定期转存:每隔一段时间将 Redis 数据转存到数据库,防止 Redis 中 key 过大。
适用场景
不同的场景可能需要不同的解决方案,该方法适用于数据量较大且需要实时处理的情况。









