Update
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
|
||||
| 算法类型 | 算法 | 密钥类型 | 特点 |
|
||||
| ----- | ----- | ----- | ------------------- |
|
||||
| HMAC | HS256 | 对称密钥 | 服务器签发和验证都 uses 同一密钥 |
|
||||
| HMAC | HS512 | 对称密钥 | 更强的哈希,性能稍低 |
|
||||
| RSA | RS256 | 非对称密钥 | 私钥签名,公钥验证 |
|
||||
| RSA | RS512 | 非对称密钥 | 更强的签名算法 |
|
||||
| ECDSA | ES256 | 椭圆曲线 | 比更短但同样安全 |
|
||||
|
||||
```go
|
||||
type JWTAuthenticator struct {
|
||||
secretKey []byte // default config: Kingsoft-2026
|
||||
}
|
||||
|
||||
func NewJWTAuthenticator(secretKey string) *JWTAuthenticator {
|
||||
return &JWTAuthenticator{
|
||||
secretKey: []byte(secretKey),
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|场景|推荐方案|理由|
|
||||
|---|---|---|
|
||||
|管理后台、商品列表|传统分页|需要跳页功能,数据量可控|
|
||||
|社交媒体动态、无限滚动|游标分页|实时性强,只需向下加载|
|
||||
|日志查看、历史订单|键集分页|大数据量,性能优先|
|
||||
|搜索结果|混合方案|前10页传统 + 深度游标|
|
||||
在 `vite.config.js/ts` 中配置代理,解决开发环境跨域问题:
|
||||
|
||||
```javascript
|
||||
export default {
|
||||
server: {
|
||||
proxy: {
|
||||
'/api': {
|
||||
target: 'http://localhost:8080', // 后端服务地址
|
||||
changeOrigin: true, // 改变请求源
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|维度|自增ID|UUID|雪花ID|
|
||||
|---|---|---|---|
|
||||
|**生成方式**|数据库自增|算法生成|时间戳+机器ID+序列|
|
||||
|**有序性**|单机有序|完全无序|时间有序|
|
||||
|**分布式友好度**|需要额外方案|✅ 原生支持|✅ 原生支持|
|
||||
|**性能/TPS**|10万+|1万+|100万+|
|
||||
|**ID长度**|8-10字节|36字符|19字符(十进制)|
|
||||
|**冲突概率**|0(单机)|≈1/2^128|理论0|
|
||||
|**索引友好度**|⭐⭐⭐⭐⭐|⭐⭐|⭐⭐⭐⭐|
|
||||
|**可读性**|⭐⭐⭐⭐⭐|⭐⭐|⭐⭐⭐|
|
||||
|
||||
|特性|命名卷|绑定挂载|
|
||||
|---|---|---|
|
||||
|**管理方式**|Docker 管理|用户管理|
|
||||
|**存储位置**|Docker 默认目录|用户指定的任意位置|
|
||||
|**跨平台兼容性**|✅ 良好|❌ 路径差异大|
|
||||
|**权限处理**|✅ Docker 自动处理|⚠️ 需手动配置|
|
||||
|**安全性**|✅ 隔离性好|⚠️ 直接访问主机|
|
||||
|**备份难度**|⚠️ 需特殊命令|✅ 直接复制|
|
||||
|**性能**|✅ 优化过|⚠️ 可能有额外开销|
|
||||
|**开发调试**|⚠️ 不便|✅ 实时同步|
|
||||
Reference in New Issue
Block a user