复述,制作微信摇一摇功能

  

复述,提供了地理位置信息(GEO)功能,有了他就可以完成附近的人,摇一摇等功能。首先,介绍下地理的相关API。

<强>

经度纬度geoadd关键成员(经度纬度成员……)

    <李>

    经度:经度

    <李>

    纬度:纬度

    <李>

    成员:成员

该命令可以一次添加一个或多个成员

有一些用户,都在合肥,现在把他们的地理坐标都存放在复述里。

    <李>

    小在家里看电视,他家的坐标为:117.230279,31.81676

    <李>

    小B在公司加班,公司的坐标为:117.229704,31.824676

    <李>

    小C在出差,他出差的地址坐标为:117.300419,31.696095

    <李>

    小D在家带娃,他家的地址坐标为:117.192909,31.732465

    <李>

    小E还在上,学他学校地址坐标为:117.189604,31.838297

127.0.0.1:6379>117.230279 31.81676 117.229704 31.824676 b geoadd位置   (整数)2   127.0.0.1:6379>geoadd位置117.300419 - 31.696095 c   (整数)1   127.0.0.1:6379>117.192909 - 31.732465 d geoadd位置   (整数)1   127.0.0.1:6379>117.189604 - 31.838297 e geoadd位置   (整数)1

<强>

geodist关键member1 member2(单位)

单元有四个单位

    <李>

    & # 39;猴# 39;=比;李米

    <李>

    & # 39;公里# 39;=比;李千米

    <李>

    & # 39; mi # 39;=比;李英里

    <李>

    & # 39;英国《金融时报》# 39;=比;李尺

我们主要会用到米以及千米。

现在我们来看看小一和小B之间的距离

127.0.0.1:6379>GEODIST位置b公里   “0.8821“

可以看到小一和小B之间有千0.88米

再来看看小C和小E之间的距离

127.0.0.1:6379>GEODIST位置c e公里   “18.9728“

他们之间相差将近19千米。

<强>

geopos关键成员(成员……)

来看下小D的所在地址的经纬度信息

127.0.0.1:6379>geopos d位置   1)1)“117.19290822744369507”;   2)“31.73246441933707018“

<强>

georadius关键经度纬度radiusm公里| |英尺英里[withcoord] [withdist] [withhash][数计数][asc | desc][存储关键][storedist关键]georadiusbymember关键成员radiusm公里| |英尺英里[withcoord] [withdist] [withhash][数计数][asc | desc][存储关键][storedist关键]

这两个命令相比其他的稍显复杂。我们一起来看看这两个命令。

这两个命令功能基本相似,主要的区别是,第一个命令给出的是具体的经纬度,而第二个命令则只给出了成员名。比如,我想知道成员离合肥大蜀山的距离,因为大蜀山经纬度信息还没有存放在复述中,所以,我们就需要用第一条命令,将大蜀山的经纬度输入即可。又如,其他成员离一所小在坐标的距离,那么就可以使用第二条命令,直接输入成员小一个即可。

<强> radiusm及后面的单位是必填信息,指定在半径距离多少范围内搜索。

合肥大蜀山的坐标是117.175571,31.846746

#查看离大蜀山10公里的成员有哪些   127.0.0.1:6379>117.175571 - 31.846746 10公里GEORADIUS位置   1)“e"   2)“a"   3)“b"

可以看到小e,小一及小b离大蜀山比较近,在10公里内。

<强> WITHCOORD:将位置元素的经度和维度也一并返回

127.0.0.1:6379>117.175571 - 31.846746 10公里withcoord GEORADIUS位置   1)1)“e"   2)1)“117.18960374593734741”;   2)“31.83829663190295634”;   2)1)“a"   2)1)“117.23027676343917847”;   2)“31.81675910621205361”;   3)1)“b"   2)1)“117.22970277070999146”;   2)“31.8246750403926697“

可以看的到,除了给出了成员外,成员的位置信息页一并给出了

<强> withdist:返回结果中包含离中心节点位置的距离

127.0.0.1:6379>GEORADIUS位置117.175571 - 31.846746 10公里withcoord withdist   1)1)“e"   2)“1.6252”;   3)1)“117.18960374593734741”;   2)“31.83829663190295634”;   2)1)“a"   2)“6.1522”;   3)1)“117.23027676343917847”;   2)“31.81675910621205361”;   3)1)“b"   2)“5.6737”;   3)1)“117.22970277070999146”;   2)“31.8246750403926697“

可以看到小E离大蜀山千1.62米,小一个离大蜀山千6.15米,小B离大蜀山千5.67米。

复述,制作微信摇一摇功能