URL 去重的 6 种方案!(附详细代码)中

简介: URL 去重的 6 种方案!(附详细代码)中

3.数据库去重

我们也可以借助数据库实现 URL 的重复判断,首先我们先来设计一张 URL 的存储表,如下图所示:

image.png

此表对应的 SQL 如下:

/*==============================================================*/
/* Table: urlinfo                                               */
/*==============================================================*/
create table urlinfo
(
   id                   int not null auto_increment,
   url                  varchar(1000),
   ctime                date,
   del                  boolean,
   primary key (id)
);
/*==============================================================*/
/* Index: Index_url                                             */
/*==============================================================*/
create index Index_url on urlinfo
(
   url
);


其中 id 为自增的主键,而 url  字段设置为索引,设置索引可以加快查询的速度。

我们先在数据库中添加两条测试数据,如下图所示:

image.png

我们使用 SQL 语句查询,如下图所示:

image.png

如果结果大于 0 则表明已经有重复的 URL 了,否则表示没有重复的 URL。


4.唯一索引去重

我们也可以使用数据库的唯一索引来防止 URL 重复,它的实现思路和前面 Set 集合的思想思路非常像。


首先我们先为字段 URL 设置了唯一索引,然后再添加 URL 数据,如果能添加成功则表明 URL 不重复,反之则表示重复。

创建唯一索引的 SQL 实现如下:

create unique index Index_url on urlinfo
(
   url
);


相关文章
|
7月前
|
缓存 Java Apache
Spring一行代码搞定图片url地址转换为Base64,超简单!!!!
这段内容讲述了如何将URL指向的图片转换为Base64字符串。首先通过`org.apache.commons.io.IOUtils`或Java标准库读取URL的字节流,然后用Java 8的`Base64`类编码。示例代码提供了两种实现方式:一种依赖Apache Commons IO,另一种仅使用Java内置类。在第二种方式中,自定义了`toByteArray()`方法处理输入流并转换为字节数组,最后关闭输入流释放资源。
|
7月前
|
C++
【C++】在使用代码组装URL时,一定要注意的坑......
【C++】在使用代码组装URL时,一定要注意的坑......
69 0
|
数据处理
Axios 默认配置 简化URL 简化代码 多台服务器接口配置
Axios 默认配置 简化URL 简化代码 多台服务器接口配置
|
开发工具 git
Gitlab提交代码:You are not allowed to push code to this project.fatal: unable to access requested URL
Gitlab提交代码:You are not allowed to push code to this project.fatal: unable to access requested URL
857 0
|
存储 Swift
Swift - Cell自适应+代码约束(SnapKit)横竖屏支持平铺+根据URL获取图片size
Swift - Cell自适应+代码约束(SnapKit)横竖屏支持平铺+根据URL获取图片size
223 0
|
安全 测试技术 Python
Tornado框架的异步代码单元支持同步获取URL在项目里实战的心得和方法
Tornado框架的异步代码单元支持同步获取URL在项目里实战的心得和方法
157 0
|
JSON Java 数据格式
SpringBoot2.x系列教程17--SpringBoot中对URL路径规则的特殊匹配实现方案
前言 在前面的章节中,壹哥 带大家对JSON进行了序列化和反序列化的特殊处理,但是我们开发时,不仅仅JSON需要特殊处理,有时候就连我们的URL接口地址中也有需要特殊处理的地方。 比如,在一个URL中,“.” 字符一般是作为分隔符来定义格式的,例如/projects/spring-boot.json中的 “点” ,那么如果在URL带有这个 ”.“,我们要不要做特殊的处理呢? 另外有的人在访问URL时,可能会在尾部带有一个”/“,如果我们想识别URL路径尾部的斜杠,如“/home/”中的第2个 “/”,该怎么办? 这些都是一些比较特殊的需求,那么我们要不要处理呢?接下来 壹哥 就教各位把U
1311 0
|
前端开发 JavaScript
tp5中前端js代码中ajax请求url问题
tp5中前端js代码中ajax请求url问题
168 0
|
NoSQL 算法 Redis
URL 去重的 6 种方案!(附详细代码)下
URL 去重的 6 种方案!(附详细代码)下
240 0
URL 去重的 6 种方案!(附详细代码)下
|
3月前
|
前端开发 JavaScript
前端JS截取url上的参数
文章介绍了两种前端JS获取URL参数的方法:手动截取封装和使用URLSearchParams。
56 0

热门文章

最新文章

下一篇
无影云桌面