428 字
2 分钟
第十二周总结
这周,我实践的不是很多,只是在上周完成了redis的应用部署情况下继续部署。在回顾整个项目时也是发现了新的感悟和不足,redis虽然也叫数据库,但更多是进行性能优化的功能,如果是一个小项目只用gin和gorm就够了。我现在发现虽然我知道了中间件的洋葱模型,但我不太理解他在整个过程中的逻辑思路,并且发现了一些其他的不足
我好菜啊…🥲
已完成事项
- 用redis进行了更多的部署,包括用户会话管理(加上了黑名单),实现了登出功能。
- 设置了随机过期时间防止雪崩,了解了防击穿(我现在似乎用不上所以只知道是用redis的锁),实行了降级策略(避免redis挂了,程序无法运行)
- 实现了最近访问记录功能
- 回顾了整个代码(之前有点囫囵吞枣,像jwt的一些方法我都不太了解)。记住了一些常用的方法:json包里的
marshal和Unmarshal([]byte和数据结构的转换),,jwt包的parse(需要的密匙,非要用函数作为参数来传递)和ParseUnverified(有三个返回值了还能填充claims,太高级了) - 在实现相关功能时了解了一些
go-redis的api(其实感觉和redis操作差不多,方法名字都一样,不过老是要使用context参数和结尾加个result()有点麻烦,所以去封装了一下,不过封装多了感觉其实差不多) - 做了一道力扣😄
下周计划
- 没想好,哈哈哈