go+mysql+redis+vue3简单聊室
文章平均质量分 76
go+mysql+redis+vue3简单聊室
keep-study
学海无涯不坐舟
展开
-
go+mysql+redis+vue3简单聊室,第6弹:使用vue3和element-plus调用接口
我们使用go实现了聊天应用的接口和数据同步后,就可以开始着手使用vue搭建前端页面,并且调用接口了。本篇文章不会详细说明vue3和相关组件的使用方法,有需求的可以直接查看官方文档接口即可首先安装node.js,安装成功后,使用npm命令行安装vue3。安装完vue3后,在指定目录使用vue命令创建一个项目脚手架。node.js和vue的安装问题可以。...原创 2022-07-19 16:38:15 · 616 阅读 · 0 评论 -
go+mysql+redis+vue3简单聊室,第5弹:使用消息队列和定时任务同步消息到mysql
完成消息发送后,我们需要保存聊天记录到数据库中。像聊天记录这种访问不频繁的冷数据,保存在mysql数据是常规做法。但是当用户增多,消息发送频率上升,会在短时间频繁链接mysql,大并发下会造成mysql的阻塞我们可以使用reids消息队列作为中间缓冲,先把用户的聊天记录保存在队列中,在服务器空闲时段,使用定时任务,在把数据同步到mysql中即可。redis是基于内存的,可以承受比mysql大得多的并发。......原创 2022-07-15 18:01:50 · 772 阅读 · 0 评论 -
go+mysql+redis+vue3简单聊室,第4弹:gin的websocket通讯和多go程任务处理
前面我们使用gin的路由实现了常规的http请求,但是聊天是基于websocket的,我们需要建立一个新路由,用于接收websocket请求。websocket的建立是基于http的,一开始需要通过http建立联系,所以我们是可以通过http路由监听到websocket请求的,然后判断请求类型,是websokcet的话,就建立真正的websocket服务gin处理websocket就是用上述方式进行的。修改routes/route.go,如下在go中,一个http请求就是一个协程,代码执行结束后该协程就结原创 2022-07-14 17:14:49 · 1572 阅读 · 0 评论 -
go+mysql+redis+vue3简单聊室,第3弹:使用session和gin模板
虽然现在的接口大部分都使用token保持状态,但session和cookie作为经典方案,我们还是有必须要了解下如何使用。golang原生路由和gin框架路由都没有实现自动开启cookie,需要我们手动去配置项目开始阶段,我们先使用gin的模板渲染,在常规html页面实现聊天效果,最后再向vue过渡在根目录创建views目录,在目录中创建index.html和login.html文件login.htmlindex.html改造路由文件修改后的 routes/route.go 文件如下修改后,请求接原创 2022-07-13 16:31:53 · 554 阅读 · 0 评论 -
go+mysql+redis+vue3简单聊室,第2弹:数据库链接和操作
在根目录下创建config目录,目录下存放全局需要用到的一些配置文件创建配置文件config.ini创建用于解析配置文件的 config.go连接数据库根目录下创建models目录,存放mysql相关的操作文件创建mysql.go创建数据表modelgorm操作数据表,是基于一个struct类型的变量进行的,struct 中属性和类型需要与表一一对应,所以们需要建立两个文件,相当于是表对应的model,用以对两个表进行声明和操作先建立两个表,user和msg在models文件夹下建立use原创 2022-07-13 14:25:08 · 486 阅读 · 0 评论 -
go+mysql+redis+vue3简单聊室,第1弹:接口路由搭建和传参
我们首先在go的工作目录下下创建一个项目目录,project1。在项目目录中我们建立一个routers目录,用于存放路由相关文件。创建一个route.go文件,如下在项目根目录下创建项目启动文件main.go,如下在项目根目录下,执行命令行:go run main.go 运行程序postman中,请求注册方法,地址为:127.0.0.1:8080/user/register我们看到命令行中打印出了 相关内容,但是postman没有任何内容输出,方法还需要改造,让方法返回数据给response再次请原创 2022-07-12 18:15:08 · 551 阅读 · 0 评论