3 天前 / sjf0115
紫英 个推前端架构师 前言 传说中,有一个弗朗特(Front)王国,这个国家喜欢搭建各种舞台,为的是让多方的信息能够充分交互。今年,弗朗特王国国民围绕如何在地图上更好地展示人群这一主题展开了激烈讨论。 个推 Mr. Tech 出席了本次战略圆桌讨论会。下面 Mr.Tech 将为大家还原一下三位大佬的讨论内容。 脑暴一下 哈西大佬将小吉、小欧的脑暴结果画了出来, 同时提议道: 边界分形 中场休息后,小吉便向大家介绍起边界分形的解决方案来: 边界拟合 尾声 会议纪要 听完弗朗特王国三位大佬在白板前的讨论...
179 天前 / HueiFeng
提示:公众号展示代码会自动折行,建议横屏阅读 「前言」连接操作是一种数据库中最基本的操作,连接算法的执行效率直接影响到整个数据库的效率、吞吐和资源。通常商业数据库系统一般有三种主流的连接实现:Nested Loop Join、Hash Join 和 Sort Merge Join。本文概述目前主流的 Hash Join 实现方式,以及分析 MySQL 中 Hash Join 的实现方式。 MySQL 8.0.18 版本增加了对 Hash Join 算法的支持,在此之前,连接算法仅支持嵌套循环连接 Nested Loop Join。
389 天前 / marketing-upyun
写文章 Redis 存储对象信息是用 Hash 还是 String 又拍云已认证的官方帐号 13 人赞同了该文章 Redis 内部使用一个 RedisObject 对象来表示所有的 key 和 value,RedisObject 中的 type,则是代表一个 value 对象具体是何种数据类型,它包含字符串(String)、链表(List)、哈希结构(Hash)、集合(Set)、有序集合(Sorted set)。 日常工作中我们存储对象信息的时候,一般有两种做法,一种是用 Hash 存储,另一种是 String 存储。但好像并没有所谓的最佳实践,那么实际上到底用什么数据结构存储更好呢? 首先简单回顾下,Redis 的 Hash 和 String 结构。
490 天前 / cyhone
一致性 Hash 常用于缓解分布式缓存系统扩缩容节点时造成的缓存大量失效的问题。一致性 Hash 与其说是一种 Hash 算法,其实更像是一种负载均衡策略。 GroupCache 是 golang 官方提供的一个分布式缓存库,其中包含了一个简单的一致性 Hash 的实现。其代码在 github.com/golang/groupcache/consistenthash。本文将会基于 GroupCache 的一致性 Hash 实现,深入剖析一致性 Hash 的原理。 本文会着重探讨以下几点内容: 传统的 Hash 式负载均衡在集群扩缩容时面临的缓存失效问题。一致性 Hash 的原理。Golang 的开源库 GroupCache 如何实现一致性 Hash。
548 天前 / 云水木石
说到 Hash(哈希),开发人员应该不陌生,比如 Hash 表是一种非常常用的数据结构,通过 Hash 表能够根据键值快速找到数据。哈希函数将文本(或其他数据)映射为整数,从而能够提高检索效率。 密码学中的 Hash 算法和普通的 Hash 算法不是同一个概念,从安全的角度考虑,密码学中的 Hash 算法除了有普通 Hash 算法的特性之外,还有其他的一些特性。 密码学 Hash 算法也通常称作摘要算法,是密码学中的基础算法,是现代密码学中的核心组成部分。
944 天前 / vivo互联网技术
在分布式环境下面,我们经常会通过一定的规则来进行数据分布的定义,本文描述的取模算法和一致性 Hash(Consistent Hash)是通过一定规则产生一个key,对这个key进行一定规则的运算,得出这个数据该去哪儿。 本文使用软件环境:Java 8 一、数据分布接口定义 概述 在分布式环境下面,我们经常会通过一定的规则来进行数据分布的定义,比如用户1的数据存储到数据库1、用户2的数据存储到数据库2...... 一般来说,有这么几种常用的方式: 有一个分布式环境中唯一的中心分发节点,每次在数据存储的时候...
947 天前 / 鱼尾
不忘初心,砥砺前行 作者 | 陌无崖 转载请联系授权 Nosql 基本概念为了解决高并发、高可用、高可扩展,大数据存储等一系列问题而产生的数据库解决方案,就是NoSql。 NoSql,叫非关系型数据库,它的全名Not only sql。它不能替代关系型数据库,只能作为关系型数据库的一个良好补充。 基本数据类型字符串SET 如果值存在,将会被新值覆盖; SETkeyvalue SETTNX 如果只存在,将不会有任何改动;命令在设置成功时返回 1 , 设置失败时返回 0 。
956 天前 / php-v
本文作者:jeffhe,腾讯 IEG 开发工程师 提到hash,相信大多数同学都不会陌生,之前很火现在也依旧很火的技术区块链背后的底层原理之一就是hash,下面就从hash算法的原理和实际应用等几个角度,对hash算法进行一个讲解。 1、什么是HashHash也称散列、哈希,对应的英文都是Hash。基本原理就是把任意长度的输入,通过Hash算法变成固定长度的输出。这个映射的规则就是对应的Hash算法,而原始数据映射后的二进制串就是哈希值。活动开发中经常使用的MD5和SHA都是历史悠久的Hash算法。
1049 天前 / 靳刚同学
“一致性hash的设计初衷是解决分布式缓存问题,它不仅能起到hash作用,还可以在服务器宕机时,尽量少地迁移数据。因此被广泛用于状态服务的路由功能” 01 — 分布式系统的路由算法 假设有一个消息推送系统,其简易架构如下 设备接入层不仅要接收设备的登录、下线等状态命令,还要把开发者的消息推送给设备。这个时候设备接入层就需要维护设备的状态信息(当然可以专门拆一个状态服务去维护这些信息,要求这部分必须少有代码更新,具体原因自己去想哦=_=)。
1100 天前 / 了不起的顾斯比
在stackoverflow 看到一个问题,Redis strings vs Redis hashes to represent JSON: efficiency内容如下: I want to store a JSON payload into redis. There's really 2 ways I can do this: One using a simple string keys and values. key:user, value:payload (the entire JSON blob which can be 100-200 KB) SET user:1 payload Using hashes HSET user:1 username "someone"HSET user:1 location "NY"HSET user:1 bio "STRING WITH OVER 100 lines" Keep in mind that if I use a hash, the value length isn't predictable. They're not ...
1118 天前 / Yu_Hao
先看代码: >>>inf=float('inf')>>>hash(inf)314159 这个 hash 值看着眼熟,不就是 π (约为 3.1415926)的前面几位嘛。 而在 Python 3 中,这个 hash 值位于系统信息中 >>>importsys>>> sys.hash_info.inf314159那么,无限大 inf 和圆周率有什么关系呢? 思考的分割线 答案是,(大概)并没有什么关系。只是恰好默认的 CPython 的实现中硬编码了这个数字而已。 #define _PyHASH_INF 314159#define _PyHASH_NAN 0 这个数字最早是由 Tim Peters (发明了排序算法 Timsort...
1158 天前 / Tiny_熊
区块链能够实现去中心化无信任情形下的资产安全,很关键的一点儿就是充分的把公私钥体系引入并使用起来了。通过对每笔交易进行私钥签名的方式保证每个人都只能花费他自己账号里的钱,别人也可以很容易的去验证某笔交易确实是账号所有人所发出的。其实私钥不只是可以签名交易,还可以签名其它数据。 排名第一的去中心化交易所 IDEX下面是从 etherscan上截取的以太坊去中心化交易所在过去七天的交易量分布图,我们可以清楚的看到,IDEX 的交易量是远远超过其它交易所的。
1215 天前 / crossoverJie
前言记得一年前分享过一篇《一致性 Hash 算法分析》,当时只是分析了这个算法的实现原理、解决了什么问题等。 但没有实际实现一个这样的算法,毕竟要加深印象还得自己撸一遍,于是本次就当前的一个路由需求来着手实现一次。 背景看过《为自己搭建一个分布式 IM(即时通讯) 系统》的朋友应该对其中的登录逻辑有所印象。 先给新来的朋友简单介绍下 cim是干啥的: 其中有一个场景是在客户端登录成功后需要从可用的服务端列表中选择一台服务节点返回给客户端使用。
1260 天前 / 虞大胆
在《如何安全存储口令?了解下Hash加盐的原理》这篇文章中,从原理、用途、特点等方面讲解了安全存储口令的一种方案,这就是Hash加盐,为了更好的理解,这篇文章从实战的角度,设计一个可实践的技术方案。 以企业邮箱应用来说,企业用户(每个用户有一个 email 地址)、企业管理员、客服人员、销售人员都有一个登录口令;这些用户可以通过 IMAP、POP、SMTP、WEB(包括 webmail、客服管理平台、销售管理平台、企业管理平台)登录校验口令。