当前位置: 首页 > news >正文

网站哪些数据营销网站制作方案

网站哪些数据,营销网站制作方案,大学网页设计作业,源码网站模板文章目录 背景GeoHash 算法redis中的GeoHash 算法基本使用增加距离获取元素位置获取元素的 hash 值附近的元素 注意事项原理 背景 如果我们有需求需要存储地理坐标#xff0c;为了满足高性能的矩形区域算法#xff0c;数据表需要在经纬度坐标加上双向复合索引 (x, y)#x… 文章目录 背景GeoHash 算法redis中的GeoHash 算法基本使用增加距离获取元素位置获取元素的 hash 值附近的元素 注意事项原理 背景 如果我们有需求需要存储地理坐标为了满足高性能的矩形区域算法数据表需要在经纬度坐标加上双向复合索引 (x, y)这样可以最大优化查询性能。但是数据库查询性能毕竟有限如果「附近的人」查询请求非常多在高并发场合这可能并不是一个很好的方案。 GeoHash 算法 业界比较通用的地理位置距离排序算法是 GeoHash 算法 Redis 也使用 GeoHash 算 法。 GeoHash 算法将二维的经纬度数据映射到一维的整数这样所有的元素都将在挂载到一条线上距离靠近的二维坐标映射到一维后的点之间距离也会很接近。当我们想要计算「附近的人时」首先将目标位置映射到这条线上然后在这个一维的线上获取附近的点就行了。 那这个映射算法具体是怎样的呢它将整个地球看成一个二维平面然后划分成了一系列正方形的方格就好比围棋棋盘。所有的地图元素坐标都将放置于唯一的方格中。方格越小坐标越精确。然后对这些方格进行整数编码越是靠近的方格编码越是接近。通过这种方式可以还原出元素的坐标整数越长还原出来的坐标值的损失程度就越小。对于「附近的人」这个功能而言损失的一点精确度可以忽略不计。 redis中的GeoHash 算法 GeoHash 算法会继续对这个整数做一次 base32 编码 (0-9,a-z 去掉 a,i,l,o 四个字母) 变成一个字符串。在 Redis 里面经纬度使用 52 位的整数进行编码放进了 zset 里面 zset的 value 是元素的 key score 是 GeoHash 的 52 位整数值。 zset 的 score 虽然是浮点数但是对于 52 位的整数值它可以无损存储。 在使用 Redis 进行 Geo 查询时我们要时刻想到它的内部结构实际上只是一个 zset(skiplist)。通过 zset 的 score 排序就可以得到坐标附近的其它元素 (实际情况要复杂一些不过这样理解足够了)通过将 score 还原成坐标值就可以得到元素的原始坐标。 基本使用 增加 geoadd 指令携带集合名称以及多个经纬度名称三元组注意这里可以加入多个三元组 距离 geodist 指令可以用来计算两个元素之间的距离携带集合名称、 2 个名称和距离单位。 获取元素位置 geopos 指令可以获取集合中任意元素的经纬度坐标可以一次获取多个。 获取的经纬度坐标和 geoadd 进去的坐标有轻微的误差原因是 geohash 对 二维坐标进行的一维映射是有损的通过映射再还原回来的值会出现较小的差别。对于「附近的人」这种功能来说这点误差根本不是事。 获取元素的 hash 值 geohash 可以获取元素的经纬度编码字符串。 附近的元素 georadiusbymember 指令是最为关键的指令它可以用来查询指定元素附近的其它元 素它的参数非常复杂。 除了 georadiusbymember 指令根据元素查询附近的元素 Redis 还提供了根据坐标值来查询附近的元素这个指令更加有用它可以根据用户的定位来计算「附近的车」「附近的餐馆」等。它的参数和 georadiusbymember 基本一致除了将目标元素改成经纬度坐标值。 注意事项 在一个地图应用中车的数据、餐馆的数据、人的数据可能会有百万千万条如果使用Redis 的 Geo 数据结构它们将全部放在一个 zset 集合中。在 Redis 的集群环境中集合可能会从一个节点迁移到另一个节点如果单个 key 的数据过大会对集群的迁移工作造成较大的影响在集群环境中单个 key 对应的数据量不宜超过 1M否则会导致集群迁移出现卡顿现象影响线上服务的正常运行。 所以这里建议 Geo 的数据使用单独的 Redis 实例部署不使用集群环境。 如果数据量过亿甚至更大就需要对 Geo 数据进行拆分按国家拆分、按省拆分按 市拆分在人口特大城市甚至可以按区拆分。这样就可以显著降低单个 zset 集合的大小。 原理 geo内部是基于zset来实现的并且只使用一个zset。所以使用时要注意他的存储量。
http://www.dnsts.com.cn/news/146326.html

相关文章:

  • ie禁止访问网站php做网站验证码的设计
  • 做海报哪个网站好做直播网站找哪个网站
  • 网站备案包括空间内容吗单页面网站卖什么好
  • 郑州汉狮做网站多少钱网络营销网站功能
  • 投资建设个什么网站好公司名字变了网站备案
  • 网站制作工具佛山网站搭建公司
  • 企业门户网站建设情况汇报上市公司网站建设要求
  • 网站集成微信登录手机百度搜索引擎
  • 没有版权的图片网站哪家建设公司网站
  • 什么是网络营销型网站广州网页编辑数量
  • 中小学生教育网站建设方案做网站设计累吗
  • 网站建设与管理的总结网页设计网站教程
  • 线上做交互的网站东营建设信息网(东营市住房和城乡
  • 做网站开发注册工商户可以么手机版商城网站案例
  • 环评怎么在网站做公示小型网站建设需要多少钱
  • 网站推广填空题百度怎么做公司的网站
  • 婚纱摄影网站源码下载创意设计学院
  • 栾川网站开发金融互助网站开发
  • 鞋店网站建设方案建网站开源代码
  • 知名高端网站建设服务商wordpress主题 academy 模版免费下载
  • 动漫网站建设wordpress 放视频
  • 邯郸网站建设制作怎么找需要做网站的客户
  • 建设网站最好的软件wordpress google提交
  • 延吉网站网站建设wordpress onepage
  • 自助式建网站开发app学什么编程语言
  • 易语言做钓鱼网站制作网站river
  • 做网站简历怎么写科普互联网站建设
  • 汕头做网站的公司网络营销的途径有哪些
  • 如何做好网站推广工作wordpress子域名设置
  • 怎么在wordpress建英文网站商丘网站制作电话