返回

从React+SpringBoot到Egg.js,重构个人博客接口的实践与思考

前端

前言

之前使用React全家桶和Java的SpringBoot重构了自己的个人博客,虽然做出来了,但是还是初成版,自我感觉还是存在很多问题。由于对Java不是完全熟悉,所以写出来的接口可能有些瑕疵,所以最近学习了eggjs,使用了egg重写了后台接口。 数据库设计跟之前的也略有不同,差异主要体现在数据表的优化和索引的添加上。

数据库设计

表名 字段 数据类型 约束 注释
posts id int(11) 主键,自增 文章ID
posts title varchar(255) 非空 文章标题
posts content text 非空 文章内容
posts author int(11) 非空 作者ID
posts create_time datetime 非空 创建时间
posts update_time datetime 非空 更新时间
categories id int(11) 主键,自增 分类ID
categories name varchar(255) 非空 分类名称
posts_categories post_id int(11) 非空 文章ID
posts_categories category_id int(11) 非空 分类ID
users id int(11) 主键,自增 用户ID
users username varchar(255) 非空 用户名
users password varchar(255) 非空 密码
users email varchar(255) 非空 邮箱
users role int(11) 非空 角色ID

接口实现

使用Egg.js框架重构的个人博客接口主要包括以下几个部分:

  • 文章接口: 提供文章的增、删、改、查操作。
  • 分类接口: 提供分类的增、删、改、查操作。
  • 用户接口: 提供用户的增、删、改、查操作。
  • 登录接口: 提供用户登录功能。
  • 注册接口: 提供用户注册功能。

技术选型

在技术选型方面,我选择了以下技术:

  • 前端框架: React
  • 后端框架: Egg.js
  • 数据库: MySQL
  • 云服务: 阿里云ECS

性能优化

为了提高接口的性能,我做了以下优化:

  • 使用缓存: 使用Redis缓存来缓存文章和分类数据,以减少数据库查询的次数。
  • 使用索引: 在数据库表中添加了索引,以提高查询速度。
  • 优化SQL语句: 对SQL语句进行了优化,以减少查询时间。
  • 使用CDN: 使用CDN来加速静态文件的加载速度。

使用体验

使用Egg.js重构的个人博客接口,总体上来说还是比较满意的。接口的性能有了很大的提升,而且代码也更加简洁。使用体验也更加流畅,后台功能更加完善。

总结

通过这次重构,我对Egg.js有了更深入的了解,也对博客接口的设计和实现有了更多的思考。我相信,随着我对Egg.js的深入学习,我能够进一步优化博客接口,使其更加高效和稳定。