redis中处理每日更新的key

比如我有个活动数据,每天的奖励随机生成,并且当天不能在变了。

我们可以在定时任务中,将其提前生成出来,或者在获取活动数据的方法中生成出来。

注意:定时任务更新,可以不加锁,但是在获取活动数据时处理更新,则应该要加锁比较好。

对于redis的数据结构,我们可以有两种方案设计

  1. key名称不变,里面多保存一个时间

    act_key
    {
     "act_data" : [],
     "today" : "20230202",
     ...
    }
    每天更新时,取这个数据,先判断时间,然后看是否更新一次数据
  2. key加日期后缀

    act_key_20230202
    {
     "act_data":[],
     ...
    }
    set时,还可以加自动过期时间,省掉删除的维护
本作品采用《CC 协议》,转载必须注明作者和本文链接
六月的风
Junwind
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 1
陈先生

不建议将 setsetExp 分开写,根据你的业务场景可以考虑使用 SetNX。 可以使用日期来作为 key 的后缀,例如 acct_data_key_name_{ymd}

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!