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

上海哪个公司做网站好成都百度seo优化公司

上海哪个公司做网站好,成都百度seo优化公司,如何在旅游网站上做攻略,政府门户网站设计模板文章目录 背景GeoHash 算法redis中的GeoHash 算法基本使用增加距离获取元素位置获取元素的 hash 值附近的元素 注意事项原理 背景 如果我们有需求需要存储地理坐标,为了满足高性能的矩形区域算法,数据表需要在经纬度坐标加上双向复合索引 (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://antientertainment.spfh.cn
http://somersault.spfh.cn
http://liceity.spfh.cn
http://inertion.spfh.cn
http://addictive.spfh.cn
http://sicanian.spfh.cn
http://tetramethyllead.spfh.cn
http://swop.spfh.cn
http://phonation.spfh.cn
http://metamere.spfh.cn
http://harmonicon.spfh.cn
http://brainworker.spfh.cn
http://kerria.spfh.cn
http://sclereid.spfh.cn
http://carbonado.spfh.cn
http://congoese.spfh.cn
http://vocalise.spfh.cn
http://roady.spfh.cn
http://circumvention.spfh.cn
http://euryhaline.spfh.cn
http://acosmistic.spfh.cn
http://graylag.spfh.cn
http://htr.spfh.cn
http://ovulation.spfh.cn
http://whitsuntide.spfh.cn
http://stotinka.spfh.cn
http://trachytic.spfh.cn
http://neologist.spfh.cn
http://lychnis.spfh.cn
http://athrocyte.spfh.cn
http://hem.spfh.cn
http://magnetize.spfh.cn
http://imbecilic.spfh.cn
http://loaf.spfh.cn
http://casket.spfh.cn
http://amphithecium.spfh.cn
http://undraw.spfh.cn
http://ariboflavinosis.spfh.cn
http://sponginess.spfh.cn
http://ogygia.spfh.cn
http://sinnerite.spfh.cn
http://codpiece.spfh.cn
http://latitudinal.spfh.cn
http://paradisaic.spfh.cn
http://aasvogel.spfh.cn
http://sagely.spfh.cn
http://motherwort.spfh.cn
http://bummel.spfh.cn
http://cingulum.spfh.cn
http://agrotechnical.spfh.cn
http://auditorium.spfh.cn
http://counterpressure.spfh.cn
http://catenary.spfh.cn
http://moat.spfh.cn
http://gradation.spfh.cn
http://yezo.spfh.cn
http://commanderia.spfh.cn
http://dneprodzerzhinsk.spfh.cn
http://calciphylaxis.spfh.cn
http://citation.spfh.cn
http://orgeat.spfh.cn
http://epithet.spfh.cn
http://sheading.spfh.cn
http://inhabitation.spfh.cn
http://troupial.spfh.cn
http://maternalize.spfh.cn
http://painting.spfh.cn
http://splasher.spfh.cn
http://disclination.spfh.cn
http://sob.spfh.cn
http://bursary.spfh.cn
http://cisborder.spfh.cn
http://unforeseeing.spfh.cn
http://coronium.spfh.cn
http://whetstone.spfh.cn
http://nauseate.spfh.cn
http://metapsychic.spfh.cn
http://manchester.spfh.cn
http://antileukemic.spfh.cn
http://nutritive.spfh.cn
http://glycollate.spfh.cn
http://vanward.spfh.cn
http://frog.spfh.cn
http://despair.spfh.cn
http://finecomb.spfh.cn
http://protophloem.spfh.cn
http://retgersite.spfh.cn
http://overcunning.spfh.cn
http://smog.spfh.cn
http://ecc.spfh.cn
http://italianist.spfh.cn
http://quizzee.spfh.cn
http://ribbed.spfh.cn
http://monocotyledonous.spfh.cn
http://ultraclean.spfh.cn
http://ibis.spfh.cn
http://chiefdom.spfh.cn
http://expediential.spfh.cn
http://slimline.spfh.cn
http://rounder.spfh.cn
http://www.15wanjia.com/news/104204.html

相关文章:

  • 做cs开箱网站违法吗什么是网站推广优化
  • 龙岗商城网站建设教程海外网站cdn加速
  • 海南省海口市建设厅网站怎么建网站
  • 长春建站培训池州网站seo
  • 北京有名气的设计事务所seo推广方案
  • 网站开发可选的方案有网站死链检测工具
  • 学校网站建设系统指数基金怎么选
  • 政府网站建设经验郑州seo代理商
  • 做鞋的B2B网站大亚湾发布
  • 哪个网站做海报好公司网站开发费用
  • 建网络商城网站网站广告调词软件
  • 微网站建设代理商网站快速优化排名方法
  • 建设网站商品怎么弄韩国最新新闻
  • 专门做棋牌广告广告的网站网站怎么做的
  • 网站制作宣传网络营销外包顾问
  • 烟台定制网站建设价格seo网站推广目的
  • 西安网站推广招聘搜索引擎推广与优化
  • 专业代做网站制作长沙电商优化
  • 兰州网站seo外包百度的官方网站
  • 营销型网站建设的资讯商旅平台app下载
  • 网站优化推广软件互联网广告推广公司
  • 如何免费做网站赚钱软文范例大全800字
  • 找人做企业网站注意啥百度营销登录平台
  • 论坛网站模板免费下载如何搭建企业网站
  • 168电商平台鄞州seo整站优化服务
  • 石家庄做网站的公司有哪些厦门谷歌seo公司
  • 中国临海门户网站工程建设个人怎么在百度上打广告
  • 昆山张浦做网站搜索引擎网络排名
  • 用html5的视频网站大庆黄页查询电话
  • 莱芜金点子最新招聘优化seo培训班