技术栈:
基于MVC框架:
1.Model:数据库身份,Mysql储存基本数据,Fastdfs储存图片,Redis设置缓存,Orm作为对象映射关系用于避免直接操作Mysql
- Mysql:建表,储存个人信息,数据库中的表对应着代码中的结构体。User表=User结构体
- Orm:数据库中的每一个表都会和代码中的Orm插件对应
- Fastdfs:分布式文件系统,在这里用于储存大文件,配合Nginx实现下载文件,进行展示
2.View:视图身份,前端部分,包括需要的数据,常见向后端发送:Get,Post,Delete请求
3.Controller:控制器,对路由表的具体实现。
实现
beego的框架搭建
基于Go开发的Http框架,可用来开发网站,博客,电商,租房网站。
go get -u github.com/astaxie/beego
路由设置,外界都是先和路由沟通,再决定调用什么服务
控制器编写,可以写一切逻辑
models设置,将数据二答处理分离
ORM的配置
在代码中通过orm操作mysql
要求 :Mysql驱动,Orm包
在Model下新建models.go文件,需要完成初始化数据库的操作。在mysql中完成建表。
通过Orm进行单表操作。
通过前端的请求,逐步完善功能,返回前端要求的json字段信息。
设置session,缓存机制,可以实现持久化的登录。
redis的使用
非关系key-value 数据库,在此项目中用于储存缓存。
特点是性能高,满足了缓存的高速需求
FastDFS的使用
高性能分布式文件系统,用于储存图片和视频,注意这里不再是储存键值
Tracker Server 调度工作,起到负载均衡的作用
Storage Server 储存服务器,提供容量和备份工作,以Group为单位
网友评论