1、文章详情页面静态化方案
为了提高页面加载速度,减轻数据库的压力,我们在项目利用freemarker模板引擎,将文章页面静态化,以文章id为名称生成html页面,存储到minio中;
2、freemarker介绍
freemarker时一种模板引擎
常用语法与指令:list map 遍历
<#list stus as stu>
${stu_index+1}
${stu.name}
${stu.age}
${stu.money}
</#list>
${stuMap[‘stu1’].name :${stuMap.stu2.name}
<#if 表达式>true内容显示</#if> <#if stus??> ${集合名?size} ${today?datetime/date/time/string(“yyyy年MM月”)}
使用方法:
1、引依赖,注入Configuration ,通过Configuration获取模板,默认去resource下的templates文件夹中读取指定名称的模板;
2、准备数据,创建一个map来接收,根据模板中所需的参数,以key-value形式存入map中;
3、替换数据,通过template的proccess方法
3、基于redis实现用户关注和取关功能
1、参数校验:是否已登录、操作类型是否为0或1、是否是自己关注自己
2、判断是否已关注,通过zscore查询得分,null为未关注
3、根据操作类型0 或 1 保存或删除redis数据
4、redis常见数据结构
5种,String hash(类似map) set zset(score—>有序,唯一) list
5、redis持久化机制
6、redis事务机制
7、redis项目中应用场景
在项目中我们主要用redis存储用户关注文章作者的数据,因为用户关注频繁操作,并且数据量不是很大
8、redis的高可用架构 主从 哨兵 集群
9、redis中 key过期删除策略
10、redis中 内存淘汰策略