1.一种消息队列的存储方法,其特征在于包括如下步骤:
(一)存储消息
1.当消息生产数量增加时,写入内存中;
2.当内存的存储量到达上限后,剩余消息继续存入redis中;
3.当redis存储量到达上限后,剩余消息会继续存储到mysql中;
4.当mysql存储量到达峰值后,剩余消息存储到文件中,文件可以是本地文件或网络文件,
(二)消费消息
1.当消息队列被消费时,内存中的消息数量减小;
2.当内存中的消息数量减少到一个阈值后,启动一个线程任务,将redis里面的数据补充到内存中,并且检测redis中的空间余量;
3.当redis里面的数据量降低到容量的50%后,启动一个线程任务,将mysql数据库中的消息补充到redis中,并且检测mysql中的消息余量;
4.当mysql里面的数据低于容量50%后,启动一个线程,将File文件中的数据批量导入数据库中。
2.根据权利要求1所述的一种消息队列的存储方法,其特征在于:所述的第1级的’内存存储’级别为k级,消息数量从几k到几百k的数量。
3.根据权利要求1所述的一种消息队列的存储方法,其特征在于:所述的第2级缓存的redis支持存储级别为M级,消息数量可达几万到几百万的数量。
4.根据权利要求1所述的一种消息队列的存储方法,其特征在于:所述的第3级缓存的mysql支持存储级别为G级,消息数量可达几千万的数量。
5.根据权利要求1所述的一种消息队列的存储方法,其特征在于:所述的第4级缓存的File支持存储级别为T级,存储能力和硬件配置正相关。