10:哈希算法
1、防止数据库中的用户信息被脱库
2、将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而通过原始数据映射之后得到的二进制值串就是哈希值。
3、应用
安全加密==》MD5、SHA
唯一标识==》如果要在海量的图库中,搜索一张图是否存在,我们不能单纯地用图片的元信息(比如图片名称)来比对,因为有可能存在名称相同但图片内容不同,或者名称不同图片内容相同的情况。可以给每一个图片取一个唯一标识,或者说信息摘要。比如,我们可以从图片的二进制码串开头取 100 个字节,从中间取 100 个字节,从最后再取 100 个字节,然后将这 300 个字节放到一块,通过哈希算法(比如 MD5),得到一个哈希字符串,用它作为图片的唯一标识。通过这个唯一标识来判定图片是否在图库中,这样就可以减少很多工作量。可以把每个图片的唯一标识,和相应的图片文件在图库中的路径信息,都存储在散列表中
数据校验==》BT下载 基于P2P协议
散列函数
负载均衡==》轮询、随机、加权轮询 如何实现会话粘滞的负载均衡算法?(需要在同一个客户端上,在一次会话中的所有请求都路由到同一个服务器上) 可以通过哈希算法,对客户端 IP 地址或者会话 ID 计算哈希值,将取得的哈希值与服务器列表的大小进行取模运算,最终得到的值就是应该被路由到的服务器编号
数据分片==》针对海量数据的处理问题,都可以采用多机分布式处理。借助这种分片的思路,可以突破单机内存、CPU 等资源的限制。
分布式存储==》为了提高数据的读取、写入能力,一般都采用分布式的方式来存储数据,比如分布式缓存