日程安排后,如何更好地在后台提醒

我现在在做的日程管理系统中 有这样一个需求 就是用户自定义日程管理 比如说A用户在10点时需要提醒一次 了用户在10:30分时需要提醒一次 我的思路是做一个TIMER计时器 每过一分钟去数据库查询 比对一下时间 判断时间是否匹配 如果匹配了 就发个短信通知 但我觉得这样效率不高 对数据库压力太大 大家想想有没有好的办法 就有点像163邮箱里的日程管理模块一样

1、用redis 等缓存,在有消息时放到缓存中。数据从缓存里来。特点:简单开发速度快。 速度:中

2、用mq 中间件,实时提醒。特点:数据实时送达,开发速度:慢(其实还行,我不认为慢)

3、轮询:半实时,直接查数据库,开发速度:快 (看服务器了,可能会有一定压力。)

感觉你这样做对服务器压力太大,对数据库的压力也是一样的。
如果客户多的情况下,会占用极多的系统资源。
就我的第一想法是,把压力转嫁给客户端,其实应该也占用不了多少资源,单个用户的话。
即将用户设置的日程管理数据存入数据库,当用户登录的时候,即扫描取出。
计算判断距离当前时间点,还差多少时间需要提醒,获取时间差值。
启用客户端的一条进程,将提醒程序设置进去,休眠上一步获得的时间差值。
(这个最重要的,应该便是如何启用客户端新线程进行休眠,如何获取权限吧?)
如此,时间到了自会提醒,无须时刻扫描,而且是休眠在客户端上。
相信应该没有客户会故意设置过多日常管理,导致内存溢出当机吧?(那得设置多少才能当机啊?)