# short_url **Repository Path**: Debugman/short_url ## Basic Information - **Project Name**: short_url - **Description**: 短url项目,基于netty实现逻辑控制,实现权限控制、日志及短链接的基本功能 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 6 - **Created**: 2022-02-22 - **Last Updated**: 2022-02-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 短链接 # ## ngx_lua版本 ## https://github.com/feiyangtianyao/short_url ## java版本 ## - **执行sql语句**
建表,短链接要入库,id是seq序增 - **生成短链接**
http://127.0.0.1:88/gen?url=http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0106/2275.html 生成之后,显示的信息中,surl即是短链接。这里,get请求时url如果有=&?要做转义。否则url取不完全 - **访问短链接**
http://127.0.0.1:88/0002 自动跳转到输入的url ### 内部功能 1. 数据库使用mysql。 2. 短链接使用6位字母数字组成,可扩展。前两位是月份,以201801为起准。后四位为顺序号码。都使用62进制转换 3. 号码使用缓存存储,每次加载50个号码.每个月会新建序列。 4. 使用his表保存数据,脚本定期清理。 5. maven可以直接shade打包可执行jar。 6. 基于netty实现的http服务,同时支持静态资源访问。 7. 基于配置文件。日志使用log4j2. 8. 数据库连接池使用dbcp,便宜连接回收。也支持druid。druid监控页面无效 9. 自定义缓存。目前缓存用来存放资源路径。缓存支持过期重载。 10. 使用appId和appKey来控制权限和流量。