http与https
超文本传输协议HTTP协议:明文方式在Web浏览器和网站服务器之间传递信息,适宜不敏感数据
安全套接字层超文本传输协议HTTPS:由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议
一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
一致哈希
解决分布式存储结构下动态增加删除节点带来的问题
性质:
1、平衡性:均衡分布
2、单调性:保护已分配的内容不会被重新映射到新缓冲区
3、分散性:相同内容被不同终端映射到不同缓冲中去的严重程度
4、负载:特定的缓冲区被不同的用户映射为不同的内容
过程:
一个位置存储多个键的值,不连续编码存储位置(分配0到无穷个随机数),计算“哈希数%存储位置数”,找到比哈希数大的最小位置数,将数放在那,如哈希数大于所有的存储位置,将其放在最低编号的位置
节点数据迁移:在查询时去顺时针找后继节点,因缓存未命中而刷新缓存
虚拟节点:基于原来的物理节点映射出n个子节点,将所有子节点映射到环形空间上
https://www.cnblogs.com/moonandstar08/p/5405991.html 代码实现
布隆过滤
通过一个Hash函数将一个元素映射成一个位阵列(Bit array)中的一个点。这样一来,我们只要看看这个点是不是1就可以知道集合中有没有它了
算法:
1. 首先需要k个hash函数,每个函数可以把key散列成为1个整数
2. 初始化时,需要一个长度为n比特的数组,每个比特位初始化为0
3. 某个key加入集合时,用k个hash函数计算出k个散列值,并把数组中对应的比特位置为1
4. 判断某个key是否在集合时,用k个hash函数计算出k个散列值,并查询数组中对应的比特位,如果所有的比特位都是1,认为在集合中。
优点:不需要存储key,节省空间
缺点:
1. 算法判断key在集合中时,有一定的概率key其实不在集合中
2. 无法删除
https://www.cnblogs.com/liyulong1982/p/6013002.html 详情咨询 False positives 概率推导
redis的bitmap
一串连续的2进制数字(0或1),每一位所在的位置为偏移(offset),在bitmap上可执行AND,OR,XOR以及其它位操作
Redis允许使用二进制数据的Key(binary keys) 和二进制数据的Value(binary values),Bitmap就是二进制数据的value。Redis的 setbit(key, offset, value)操作对指定的key的value的指定偏移(offset)的位置1或0,时间复杂度是O(1)。
https://www.cnblogs.com/devilwind/p/7374017.html