Skip to content

YumeAyai/blogcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

网站开发文档

为博客添加基于数据库的评论系统

创建数据库和数据库用户

CREATE DATABASE IF NOT EXISTS web;
CREATE USER 'web'@'%' IDENTIFIED BY 'commentsystem';
GRANT ALL PRIVILEGES ON web.* TO 'web'@'%';
FLUSH PRIVILEGES;

创建2张表 users表记录评论过的用户信息 comments表记录评论

CREATE TABLE users (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) UNIQUE,
    avatar BLOB,
    email VARCHAR(255) UNIQUE,
    age INT UNSIGNED
);

CREATE TABLE comments (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT UNSIGNED,
    article_id VARCHAR(255),
    text TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);

后端基于gin框架,gin框架基于golang实现,go具有优秀的并发特性,能承受较高强度访问 性能对比

qps CPU 内存 包大小
gin 14900 150% 0.4% 9M
springboot 11536 143% 12% 24M
  • qps上,gin 比 springboot 高出1.3倍
  • CPU上,两者持平
  • 内存上,gin比springboot 小30倍
  • 包大小上,gin比springboot 小2.6倍

前端基于astro框架,astro是一个用于构建现代化网站的静态站点生成器和前端框架。它的设计目标是提供一种简洁、灵活的方式来构建高性能、易于维护的网站。Astro支持使用现代的Web技术和工具,如React、Vue、Svelte等,并采用了一种称为“开箱即用”的方式,使得开发者能够更轻松地构建复杂的用户界面,同时提供了强大的性能优化。 网站之前的加载博客文档和相册功能已经由astro和vue分别实现,但评论系统不再能基于静态网站或文件夹扫描实现。因此,评论系统会通过React组件插入,并提供api和后端gin通信。

因为本项目api较为简单,因此不写接口文档。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published