1.介绍 爬虫采集了大量的文本数据,如何进行去重?可以使用文本计算MD5,然后与已经抓取下来的MD5集合进行比较,但这种做法有个问题,文本稍有不同MD5值都会大相径庭, 无法处理文本相似问题。另一种方式是本文要介绍的SimHash,这是谷歌提出的一种局部敏感哈希算法,在吴军老师的《数学之美》里也有介 ...
分类:
编程语言 时间:
2018-03-21 15:03:37
阅读次数:
161
哈希算法是一种只能加密,不能解密的密码学算法,可以将任意长度的信息转换成一段固定长度的字符串。 这段字符串有两个特点: 1. 就算输入值只改变一点,输出的哈希值也会天差地别。 2. 只有完全一样的输入值才能得到完全一样的输出值。 3. 输入值与输出值之间没有规律,所以不能通过输出值算出输入值。要想找 ...
分类:
编程语言 时间:
2018-03-18 17:14:37
阅读次数:
218
写这篇博客是因为之前面试的一个问题:如果memcached集群需要增加机器或者减少机器,那么其他机器上的数据怎么办?最后了解到使用一致性hash算法可以解决,下面一起来学习下吧。声明与致谢: 本文转载于朱双印博主的个人日志《白话解析:一致性哈希算法 consistent hashing》一文。一. ... ...
分类:
编程语言 时间:
2018-03-17 12:23:08
阅读次数:
1697
第1章缓存数据库Memcache1.1为什么用缓存数据库1.2Memcached介绍1.3Memcached在企业中使用场景1.3.1应用场景一1.3.2应用场景二1.4Cookies和Session1.5Memcached分布式缓存集群1.5.1普通哈希算法1.5.2一致性哈希算法第2章安装Memcached2.1服务端配置(Memcached)服务端环境[root@cache01~]#cat/
分类:
数据库 时间:
2018-03-15 21:01:19
阅读次数:
254
一、hashlib模块 hashlib模块介绍:hashlib这个模块提供了摘要算法,例如 MD5、hsa1 摘要算法又称为哈希算法,它是通过一个函数,把任意长度的数据转换为一个长度固定的数据串,这个数据串使用的十六进制表示。摘要算法是一个单向函数,计算容易,如果想要反推摘要算法那是非常喜困难的,而 ...
分类:
其他好文 时间:
2018-03-14 22:14:15
阅读次数:
225
hashlib模块 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。 什么是摘要算法呢?摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。 摘要算法就是通过摘要函数f()对任意长度的数据data计算出固 ...
分类:
其他好文 时间:
2018-03-14 18:04:41
阅读次数:
193
哈希算法 哈希算法:哈希算法并不是特定的算法而是一类算法的统称,只要是完成这种功能的算法都是哈希算法,哈希算法也叫做散列算法。同时这个过程是不可逆的,无法由key推导出data。判断一个哈希算法是否优秀,要根据算法的离散度和冲突概率来评定。 哈希函数:就是你给我一个值,我就能通过这个函数计算出它的存 ...
分类:
编程语言 时间:
2018-03-13 18:10:44
阅读次数:
402
# -*- coding: utf-8 -*- ''' Created on 2018年3月11日 @author: Jason niu ''' import hashlib #该模块实现了诸多安全哈希和消息摘要算法的通用接口,包括 FIPS 安全哈希算法: SHA1、SHA224、 SHA256、... ...
分类:
其他好文 时间:
2018-03-11 23:12:06
阅读次数:
222
一、Hash 简介: Hash,一般被翻译成“散列”,也有直接音译"哈希"的,就是把任意长度的输入,通过哈希算法,变换成固定长度的输出,输出的结果就叫做哈希值,这是一种压缩映射,也就是说一般哈希值的空间要小于输入空间,不同的输入但是得出的哈希值可能是相同的,所以不可能从哈希值来确定输入值,简单来说哈 ...
分类:
其他好文 时间:
2018-03-10 00:14:07
阅读次数:
140
Collection 接口 用父类引用指向子类对象 List(存取有序,有索引,可以重复) ArrayList底层是数组实现的,线程不安全,查找和修改快,增和删比较慢 LinkedList底层是链表实现的,线程不安全,增和删比较快,查找和修改比较慢 Vector底层是数组实现的,线程安全的,无论增删 ...
分类:
其他好文 时间:
2018-03-09 01:42:20
阅读次数:
156