整合redis,为什么要整合redis
由于热点文章的并发量比较大,每次访问热点文章的时候都要从mysg|数据库查询mysqI不能支持那么高的并发量因此,用redis优化
1.导入redis依赖
2编写redis.xm配置文件,声明RedisTemplate模板用来CRUD的
3.让spring-beans xm加载redis xml配置文件
4.找到查询热点文章的方法,
4.1先从reids中查询热点文草数据4.2判断redis中有的数据是否为空4.3如果为空,就去mysqI中查询,然后把查询的结果放入redis4.4如果不为空,直接返回
第一次查询
4.1,4.2,4.3
第二次查询
4.1,4.2,4.4
第三次查询
4.1,4.2,4.4
5.如果我们对热点文章做了修改,或者删除怎么把?
可以把redis中的数据删除 这样就相当于第一次查询
4.1,4.2,4.3
整合Kafka
1.首先爬虫爬取文章数据
2爬取的文章数据保存到本地
3.读取本地的文章封装到Article对象里
4.把这个对象转成ison.
5.发送kafka6.再cms系统中,
6.编写kafka监听器
7.接收发来的消息,把json串,转成对象,保存到mysql
用于通知的时候,整合思路?
1.为了保证redis中的数据和mysql中的数据一致,因此我们在增删改查文章的时候,不仅要操作mysql,还要操作redis和es索引库
2.发布文章的时候(增加)添加mysql,且发送kafka通知redis,es进行增加
3.修改的时候,修改mysql,且发送kafka通知redis和es进行修改