本申请涉及大数据领域,特别是涉及一种基于redis的推送消息生成方法、装置、设备和存储介质。
背景技术:
1、随着人口数量的增多,用户持卡的数量也在急剧上升,不再是传统的用户仅持有一张银行卡的单一场景,在双十一、年终等高并发的交易场景下,消息推送的延时大大提升,降低的用户体验。
2、现有的用户消息推送功能,强依赖于实时访问数据库查询用户的签约状态,在高并发场景下,频繁的访问数据库会出现数据库崩溃的问题。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够降低数据库崩溃风险的的基于redis的推送消息生成方法、装置、计算机设备和计算机可读存储介质。
2、第一方面,本申请提供了一种基于redis的推送消息生成方法,所述方法包括:
3、获取交互数据,确定触发生成所述交互数据的交互对象;
4、基于redis对所述交互对象进行消息推送业务的签约数据查询,得到第一查询结果;所述redis中存储的签约数据,为从数据库中所存储的消息推送业务签约数据中筛选出的部分数据;
5、在所述第一查询结果为未查询到所述交互对象的消息推送业务签约数据的情况下,基于所述数据库对所述交互对象进行消息推送业务的签约数据查询,得到第二查询结果;
6、在所述第一查询结果或所述第二查询结果为查询到所述交互对象的消息推送业务签约数据、且所查询到的消息推送业务签约数据为有效签约数据的情况下,基于所述交互数据,生成待推送至所述交互对象的推送消息。
7、在其中一个实施例中,所述方法还包括:
8、获取历史查询任务中各消息推送业务签约数据所属的字段;
9、基于各所述字段的含义以及各所述字段所包含的数据的更新频率,将所述字段中的至少一个字段确定为目标字段;
10、将所述数据库中所述目标字段及所述目标字段所包含的数据同步至所述redis。
11、在其中一个实施例中,所述方法还包括:
12、基于历史查询任务中各交互对象的消息推送业务签约数据和推送至交互对象的推送消息,建立所述交互对象和推送消息之间的映射关系;
13、根据所述映射关系,将所述数据库中表征所述交互对象允许推送的消息内容的数据同步至所述redis。
14、在其中一个实施例中,所述方法还包括:
15、获取历史查询任务中有效的消息推送业务签约数据和失效的消息推送业务签约数据各自在所述数据库中所占的比例;
16、当所述有效的消息推送业务签约数据所占比例大于所述失效的消息推送业务签约数据所占比例时,将所述有效的消息推送业务签约数据同步至所述redis;
17、当所述有效的消息推送业务签约数据所占比例小于所述失效的消息推送业务签约数据所占比例时,将所述有效的消息推送业务签约数据和所述失效的消息推送业务签约数据均同步至所述redis。
18、在其中一个实施例中,所述基于所述交互数据,生成待推送至所述交互对象的推送消息,包括:
19、基于所述交互数据生成推送内容,并确定当前推送消息的消息模板;
20、将所述推送内容填充至所述消息模板中,得到待推送至所述交互对象的推送消息。
21、在其中一个实施例中,所述基于所述交互数据,生成待推送至所述交互对象的推送消息,包括:
22、获取当前推送消息的应用场景;
23、基于所述应用场景对所述交互数据的字段进行拼接处理或筛选处理中的至少一种处理,得到待推送至所述交互对象的推送消息。
24、第二方面,本申请提供了一种基于redis的推送消息生成装置,所述装置包括:
25、交互对象确定模块,用于获取交互数据,确定触发生成所述交互数据的交互对象;
26、第一查询模块,用于基于redis对所述交互对象进行消息推送业务的签约数据查询,得到第一查询结果;所述redis中存储的签约数据,为从数据库中所存储的消息推送业务签约数据中筛选出的部分数据;
27、第二查询模块,用于在所述第一查询结果为未查询到所述交互对象的消息推送业务签约数据的情况下,基于所述数据库对所述交互对象进行消息推送业务的签约数据查询,得到第二查询结果;
28、消息生成模块,用于在所述第一查询结果或所述第二查询结果为查询到所述交互对象的消息推送业务签约数据、且所查询到的消息推送业务签约数据为有效签约数据的情况下,基于所述交互数据,生成待推送至所述交互对象的推送消息。
29、第三方面,本申请提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
30、第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
31、第五方面,本申请提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。
32、上述基于redis的推送消息生成方法、装置、设备和存储介质,通过对触发了生成交互数据的交互对象进行签约数据的查询,可以准确定位到可进行消息推送的交互对象;通过先从redis中查询交互对象的消息推送业务签约数据,再在redis不存在交互对象的消息推送业务签约数据的情况下,从数据库中查询交互对象的消息推送业务签约数据,在查询到交互对象的消息推送业务的签约数据且签约数据为有效数据的情况下,生成对推送至交互对象的推送消息,可以减少数据库的访问次数,减轻数据库的压力,从而降低数据库崩溃的风险,实现消息的推送。
1.一种基于redis的推送消息生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述基于所述交互数据,生成待推送至所述交互对象的推送消息,包括:
6.根据权利要求1所述的方法,其特征在于,所述基于所述交互数据,生成待推送至所述交互对象的推送消息,包括:
7.一种基于redis的推送消息生成装置,其特征在于,所述装置包括:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。