1
luoyou1014 2020-07-03 11:51:13 +08:00
openresty + redis
|
2
asAnotherJack 2020-07-03 12:14:25 +08:00
这个短链靠谱吗
|
3
wysnylc 2020-07-03 12:17:31 +08:00
不建议,因为如果去掉这一层中间层后面的业务更新修改就很麻烦
|
4
xiri 2020-07-03 12:18:07 +08:00 via Android
短链接不一般都是后端查询跳转吗?你描述的这个怎么看起来这么奇怪
|
5
zktz 2020-07-03 12:20:55 +08:00
前端工程是个啥
如果 nginx 直接访问接口,那么 nginx 不就变成前端工程了吗? 况且,这个可以直接从后端重定向啊 |
6
loveyu 2020-07-03 12:26:48 +08:00 1
常见就 2 方案吧:
A:nginx -> 后端读数据库,后端 302 (最常见,5 楼方案) B:openresty -> 直接读 redis 302, 如果找不到时去后端 (性能考虑比较多,1 楼方案) C: 前端 -> 接口 -> 前端重定向 (一般有特别变态的统计需求时, 楼主方案) |
8
xiaozhuc OP @asAnotherJack 毕竟只是随机数,肯定会有问题
|
9
opengps 2020-07-03 13:21:24 +08:00 via Android
感觉楼主把短连接做复杂了,短连接只是个链接,点击后就自动走服务器的 302 跳转了,前端只需要在合适的地方挂上就行了,完全是个<a>标签的用法,而不是自己看拿到真实地址自己控制跳转
|
10
KuroNekoFan 2020-07-03 13:28:37 +08:00 via iPhone
@loveyu c (楼主方案)怎么看都很奇怪
|
11
imdong 2020-07-03 13:33:42 +08:00
随便一个语言,实现短链跳转功能,所需要的代码大概都不会超过 10 行(不考虑性能与基础库)。
基本上,获取 url (中 id 部分),查询数据库,然后 header ("location: url") 考虑性能,就要用缓存热数据等概念了。 |
12
zhuweiyou 2020-07-03 13:46:16 +08:00
proxy_pass
|
13
loveyu 2020-07-03 16:07:41 +08:00
@KuroNekoFan 是的,所以我说常见就 2 个,c 不是
|
15
mlboy 2020-07-03 18:30:40 +08:00
openresty 我有套实现。 不过没开源。有时间整理整理开源下。
|
16
rrfeng 2020-07-03 18:31:26 +08:00 via Android
直接 lua mysql 然后返回 302 就行了。
|