基于Redis+Session的分布式登录功能
基于Redis + Session的 分布式 登录功能
六种登录方式:
Cookie-Session 认证、Redis-Session 认证、Token认证、基于Token的JWT认证、 SSO单点登录、OAuth第三方登录。📜
这里讲解一下go语言版的Redis-Session。⏳
为什么用Redis-Session?🤔
1、简单易实现 👈😂
2、Redis具有极快的读写速度和高并发能力 🚀
3、Redis天生支持分布式部署和数据共享,有利于项目的扩展 📚
1、🛩安装依赖123go get github.com/go-redis/redis/v8go get github.com/gin-contrib/sessionsgo get github.com/gin-contrib/sessions/redis
2、🛩配置redis和session在router包下
123456// 配置Redis连接和Session存储store, err := redis.NewStore(10, "tcp", "localhost:63 ...
统一接口返回和全局异常处理
统一接口返回和全局异常处理
1、为什么需要统一返回类?
规范化返回的信息、提高代码的可读性和维护性,同时减少重复劳动。
2、为什么需要全局异常处理?
如果不做全局异常处理,代码中的异常要用一些try-catch、throw来处理,这样做会不仅提高了代码的耦合度还会影响代码的美观。
好处:标准化、简化代码的业务逻辑、友好返回。
统一接口返回1、基础返回类
编写需要的字段(一般为code、data、message)
编写需要的语法糖
1234567891011121314151617181920212223242526/** * @Description: 基础返回类 * @Author: ler */@Datapublic class BaseResponse<T> implements Serializable { // 错误码 private int code; // 数据 private T data; // 信息 private String message; public BaseResponse(int code, T da ...
Swagger
引言
Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务
一款致力于解决接口规范化、标准化、文档化的开源库
官方网站:https://swagger.io/
Knife4j是集Swagger2及OpenAPI3为一体的增强解决方案
官方网站:https://doc.xiaominfo.com/
基本概念接口参数:
请求参数
响应参数
错误码
接口地址
接口名称
请求类型
请求格式
备注
作用:
有书面内容,方便大家参考、查阅、维护
便于前后端对接,介质,后端 => 接口文档 <= 前端
在线调试、在线测试,提高开发效率
入门:1、添加依赖:123456789101112<!--swagger--><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version&g ...
RabbitMQ
基于 AMQP 协议,erlang语言开发,是部署最广泛的开源消息中间件,是最受欢迎的开源消息中间件之一。
特点:生态好,好学习、易理解,时效性强,支持很多不同语言的客户端,扩展性、可用性很好。
官方文档:https://www.rabbitmq.com
基本概念AMQP 协议(https://www.rabbitmq.com/tutorials/amqp-concepts): 高级消息队列协议
生产者:发消息到交换机
消费者:从某个队列中取消息
交换机(Exchanage):把消息 转发 到对应的队列
队列(Queue):存储消息
路由(Routes):转发
安装 rabbitMQ 监控面板
1rabbitmq-plugins.bat enable rabbitmq_management
访问:http://localhost:15672
账号密码默认为:guest
快速入门123456<dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-cli ...