Redis与mongodb数据库数据之间的初始化与持久化 / 定时器

mongodb --> Redis 数据的初始化Redis完整的缓存操作 分为三个步骤// 1. 缓存数据初始化(预热) :将数据库中的数据加载到缓存中// 2. 缓存的业务操作 :// 3. 缓存数据的持久化(将缓存中的数据同步到数据库)思考 ???1. 需要将那些数据进行初始化处理//1.需要频繁变动(DML)的数据 ,需要初始化缓存(频繁操作数据库的操作)//不需要频繁变动[DQL]的数据,需要初始化的缓存 此处初始化 : 1.攻略的统计对象(vo) 2.用户攻略收藏
摘要由CSDN通过智能技术生成

mongodb --> Redis 数据的初始化

Redis完整的缓存操作 分为三个步骤

// 1. 缓存数据初始化(预热) :将数据库中的数据加载到缓存中

// 2. 缓存的业务操作 :

// 3. 缓存数据的持久化(将缓存中的数据同步到数据库)

思考 ???

1. 需要将那些数据进行初始化处理
//1.需要频繁变动(DML)的数据 ,需要初始化缓存(频繁操作数据库的操作)
//不需要频繁变动[DQL]的数据,需要初始化的缓存
 此处初始化 : 1.攻略的统计对象(vo)  2.用户攻略收藏id列表[拓展]

2. 初始化处理逻辑应该放置那个项目实现

 // trip-mgrsite 跟 trip-website-api 的选择 ?????
 api项目后续可能需要进行拓展 ,比如分布式微服务或者集群操作 , 如果将初始化逻辑放置api , 会存在多次初始化操作 ,不建议 ,另外一个点,redis缓存数据初始化数据管理范畴 ,建议放置mgrsite

3. 初始化, 处理逻辑应该放置在那个组件中实现(filter servelt interceptor controller listen)
  分析需求实现特点:
     //分析初始化次数尽可能少
     //尽量保证业务操作之前
  
   web组件 : listener : 可以监听请求对象(request) ,会话对象(session) , 容器对象(contain)的创建与销毁动作
   //初始化逻辑强调尽可能在项目启动(web容器)之后,用户访问前执行,此时发现listener这个组件跟处理逻辑特点相符合
   
   //web组件监听器 : web组件  监听tomcat的web容器
   
   //spring容器监听器 : springmvc中的组件,监听的spring容器 (推荐)

Spring提供了一下五种标准的事件

在这里插入图片描述

代码实现 如 :

package cn.wolfcode.wolf2w.job;

import cn.wolfcode.wolf2w.domain.Strategy;
import cn.wolfcode.wolf2w.redis.service.IStrategyRedisService;
import cn.wolfcode.wolf2w.redis.vo.StrategyStatisVO;
import cn.wolfcode.wolf2w.service.IStrategyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.List;
//@Component
public class RedisDatePersistenceJob {
   

    @Autowired
    private IStrategyRedisService strategyRedisService;
    @Autowired
    private IStrategyService strategyService ;

   //cron表达式 任务计划
    @Scheduled(cron = "0/5 * 
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值