会员批量过期的方案怎么实现?

有一张 200W 数据量的会员表,每个会员会有长短不一的到期时间,现在想在快到期之前发送邮件通知提醒续费, 这个问题里面有几个关键词:
  • 200W 数据意味着数据量比较大
  • 每个会员都有过期时间,需要能够筛选出快过期的会员

关于这个问题,可以有几种种解决方案: 

系统不主动轮询

第一种,系统不主动轮询,而是等用户登录到系统以后,触发一次检查。如果发现会员的过期时间小于设定的阈值,就触发一次弹窗和邮件提醒。这种方式规避了轮询问题,不会对数据库和后端应用程序造成任何压力。缺点是,如果用户一直不登陆,就一直无法实现会员过期,并且也无法提前去根据运营策略发送续期的提醒消息。

搜索引擎

第二种,我们可以使用搜索引擎,比如 Solr、或者 Elasticsearch。把会员表里面的会员 id 和会员到期时间存储一份到搜索引擎中。搜索引擎的优势在于大数据量的快速检索,并且具有高可扩展性和高可靠性,非常适合大规模数据的处理。

Redis

第三种,可以使用 Redis 来实现。用户开通会员以后,在 Redis 里面存储这个会员 id,以及设置这个 id 的过期时间。然后可以使用 redis 的过期提醒功能, 把配置项 notify-keyspace-events 改为 notify-keyspace-events "Ex",当 Redis 里面的 key 过期以后,会触发一个 key 过期事件,我们可以在应用程序中监听这个事件来处理。

MQ

第四种,可以直接使用 MQ 提供的延迟队列,当用户开通会员以后,直接计算这个会员的过期时间,然后发送一个延迟消息到 MQ 上,一旦消息达到过期时间,消费者就可以消费这个消息来触发会员过期的提醒。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用poi实现批量导入,你可以按照以下步骤进行操作: 1. 在前端页面中添加一个文件上传的表单,可以使用HTML的<input type="file">标签。\[1\] 2. 在后端的控制器中添加一个处理文件上传的接口,使用@RequestParam注解获取上传的文件。然后使用poi库解析Excel文件,将数据保存到数据库中。\[1\] 3. 在Excel文件中,每一行代表一个数据记录,每一列代表一个字段。你可以根据需要定义Excel文件的格式,例如第一行可以是字段名,从第二行开始是数据记录。\[3\] 4. 使用poi库的API读取Excel文件中的数据,并将数据保存到数据库中。你可以使用poi的HSSFWorkbook或XSSFWorkbook类来读取Excel文件,然后使用Sheet类和Row类来遍历每一行和每一列的数据。\[3\] 5. 将读取到的数据保存到数据库中,可以使用数据库操作的相关API,例如使用JDBC或者使用ORM框架如MyBatis进行数据库操作。\[3\] 通过以上步骤,你就可以使用poi实现批量导入功能了。你可以根据具体的需求进行相应的调整和扩展。 #### 引用[.reference_title] - *1* *2* *3* [SpringBoot项目+Echart数据展示+poi 实现批量导入导出](https://blog.csdn.net/m0_60459789/article/details/128100521)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值