首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

看用 Redis 如何实现「​附近的人」​功能?

前言:针对“附近的人”这一位置服务领域的应用场景,常见的可使用PG、MySQL和MongoDB等多种DB的空间索引进行实现。...要提供完整的“附近的人”服务,最基本的是要实现“增”、“删”、“查”的功能。以下将分别进行介绍,其中会重点对查询功能进行解析。...其中,组合使用GEOADD和GEORADIUS可实现“附近的人”中“增”和“查”的基本功能。 要实现信中“附近的人”功能,可直接使用GEORADIUSBYMEMBER命令。...不过本质上,GEORADIUSBYMEMBER = GEOPOS + GEORADIUS,即先查找用户位置再通过该位置搜索附近满足位置相互距离条件的其他用户对象。...并可推算出Redis中GEORADIUS查找附近的人功能,时间复杂度为:O(N+log(M)) 其中N为指定半径范围内的位置元素数量,而M则是被九宫格圈住计算距离的元素的数量。

89250
您找到你想要的搜索结果了吗?
是的
没有找到

附近的人,用redis也能实现?(GEO)

点击上方蓝字关注我们 相信附近的人的功能大家都应该用过 我可以很随意的通过我自己的定位能看到我附近的人,并且能看到那个人距离我的距离,大家有没有思考过这个是怎么实现的?...获取自己的位置 附近的人其实就是一种位置的比对关系,所以第一步是得获取自己的位置,一般位置都是用经纬度来表示,具体经纬度的获取得依赖客户端,作为咱们后端程序员直接接收参数就可以了,所以这一步重点是用经纬度来表示各个节点的位置...* 6378.137 * 1000; return $s; } 筛选出距离和自己在 5km 以内的数据就是我们想得到的结果 把上次算出来的距离一一对比,在 5km 以内的数据就是我们需要的附近的人的数据...,又是一遍所有数据的遍历 如果符合附近的人的要求是需要按照距离从近到远来排序,又得遍历计算 上述方式如果用户量比较小其实是可以实现的,但是现在移动互联网公司一般用户体量都很大,全表遍历的方式基本都可以...因为查看附近的人的位置信息也在 nearBy 中,所以显然用 GEORADIUSBYMEMBER 比较合适 GEORADIUSBYMEMBER nearbyPeople user_n 5 km WITHDIST

58910

小程序里附近的人功能实现,云开发数据库实现附近的人附近多少公里内的好友

文末有源码 最近好多同学问石头哥附近的人如何实现。今天呢,就借助这篇文章,给大家做一个系统的解答。...接下来就教大家如何实现附近的位置。 一,创建数据 首先我们查询附近的人的时候,需要先有附近人的位置,也就是经纬度。这里我以几个城市的经纬度为例。...二,查找附近的人 我们查找附近的人,肯定是想按照排序由近到远的显示附近的人在地图上,所以这里我们就要用到geoNear做聚合查询。...五,在地图上显示附近的人 既然位置都已经查询到了,我们就可以在地图上显示了,地图上显示用到了map组件的markers [watermark,type_ZmFuZ3poZW5naGVpdGk,shadow...longitude = res.longitude console.log('当前在杭州的经纬度', res.longitude, res.latitude) //2,查找附近的人

95030

用Python爬了好友,原来他们是这样的人...

随着的普及,越来越多的人开始使用渐渐从一款单纯的社交软件转变成了一个生活方式,人们的日常沟通需要,工作交流也需要信里的每一个好友,都代表着人们在社会里扮演的不同角色。...其分析结果如下图所示: 可以注意到,在所有好友中,约有接近1/4的好友使用了人脸头像, 而有接近3/4的好友没有人脸头像,这说明在所有好友中对”颜值 “有自信的人,仅仅占到好友总数的25%...,或者说75%的好友行事风格偏低调为主,不喜欢用人脸头像做头像。...这说明在我的好友中,好友选择的头像主要有日常、旅游、风景、截图四个来源。 好友选择的头像中风格以卡通为主,好友选择的头像中常见的要素有天空、大海、房屋、树木。...通过观察所有好友头像,我发现在我的好友中,使用个人照片作为头像的有15人,使用网络图片作为头像的有53人,使用动漫图片作为头像的有25人,使用合照图片作为头像的有3人,使用孩童照片作为头像的有

35110

用Python爬了好友,原来他们是这样的人...

随着的普及,越来越多的人开始使用渐渐从一款单纯的社交软件转变成了一个生活方式,人们的日常沟通需要,工作交流也需要信里的每一个好友,都代表着人们在社会里扮演的不同角色。...其分析结果如下图所示: 可以注意到,在所有好友中,约有接近1/4的好友使用了人脸头像, 而有接近3/4的好友没有人脸头像,这说明在所有好友中对”颜值 “有自信的人,仅仅占到好友总数的25%...,或者说75%的好友行事风格偏低调为主,不喜欢用人脸头像做头像。...这说明在我的好友中,好友选择的头像主要有日常、旅游、风景、截图四个来源。 好友选择的头像中风格以卡通为主,好友选择的头像中常见的要素有天空、大海、房屋、树木。...通过观察所有好友头像,我发现在我的好友中,使用个人照片作为头像的有15人,使用网络图片作为头像的有53人,使用动漫图片作为头像的有25人,使用合照图片作为头像的有3人,使用孩童照片作为头像的有

24110

好友头像拼图

机器人相信很多人在群里见过,大部分是基于itchat开发的,今天就用基于 itchat 的wxpy 将你的好友头像拼接成一张图片。...# -*- coding: utf-8 -*- from wxpy import *import mathfrom PIL import Imageimport osprint('双击exe执行,用扫描弹出的二维码...IOError: print("头像读取失败") img = image.save(os.getcwd() + "/mywechat.png") print('好友头像拼接完成...效果 最后生成了所有好友头像拼图,我的好友才100多人,所以生成的头像还能看清,如果有几千好友的话头像会很小,需要放大才能看到。 ? 所有好友头像都下载到本地了。 ?...关注本公众号,回复 拼图 获取EXE下载链接,暂时只支持windows系统。

3.1K30

好友大揭秘

每天自己手机应用使用时间排行榜,都毫不意外地占据榜首,每天睁开眼的第一件事就是拿起手机打开,查收消息,关注朋友圈好友的动态。但是除了这些微还有哪些好玩的东西呢?...今天就用python对自己所有好友做一次数据分析,看看自己的好友存在哪些有趣的东西。...整个过程分为四步: 获取数据 处理数据 存储数据 数据可视化 具体实现 获取数据: 好友数据的获取,可以通过itchat库,itchat是一个开源的信个人号的接口,可以实现信息收发、获取好友列表等功能...词云图中可以看到,好友个性签名中出现频率较高的词汇有:自己,一个,改变,心存,善念,欢迎,关注。整体来看,我的好友应该是心存善念的公众号运营者居多 ?...(这都是什么鬼,是时候请一波好友了)当然还是有很多正能量词语的。 好友头像拼接 好友头像拼接是将所有的头像拼接成一张大图,因为好友过多只获取了一部分好友的头像。

1.9K30

Python爬取所有好友头像,制作好友图片墙

今天咱就试试怎么爬取列表中所有好友的头像,并做成一张图片墙,代码不长,60 行就可以搞定。...核心是利用三个库: wxpy 库,用于获取好友头像然后下载 Pillow 库,用于拼接头像 Pyinstaller 库,用来打包 Python 程序成 exe 文件 程序通过三个函数实现,第一个 creat_filepath...函数生成图片下载文件路径,第二个 save_avatar 函数循环获取好友头像然后保存到本地,第三个 joint_avatar 函数就是把头像拼接成一张大图。...\\"; if not os.path.exists(avatar_dir): os.mkdir(avatar_dir) return avatar_dir # 保存好友头像...IOError: print("头像读取失败") img = image.save(os.getcwd() + "/wechat.png") print('好友头像拼接完成

7K20

好友怎么提高通过率?好友时如何打招呼更容易通过?

span 加好友时如何提高通过率?很多人会说,好友谁不会。...下面就跟大家说说加好友怎么提高通过率?好友时如何打招呼更容易通过? 打招呼比较低效的5种错误写法 如果大部分你别人好友时别人不理你,或者通过的比较慢,都是因为你打招呼的姿势不对。...你陌生人的,直接打个这个样招呼,别人会感到莫名其妙:你是谁啊,是干嘛的啊,为什么要加我啊,你啥都没说,我为什么要加你。...当然这个还没疯,跟你说个朋友在群里吐槽的真实例子,有个人他时候这么写的:「你好,我是周小明,可以加个好友么,信息时代,希望能认识犀利的人,提高姿势水平,打破圈子局限。」 5、各种求帮忙、给你压力的。...2、说明加好友的目的 这个是最重要的,不像博,他是一个熟人圈子,要陌生人必须有一个理由。

3.7K20

用Python调教,实现自动回复 和 好友分布,好友性别图,好友标签

但是有些人群,确实对此功能有一定需求,我举两个栗子: 不愿时刻被消息打扰的人 消息需要批量处理的人们(比如商) 设计了几个功能: x 收到消息立即自动回复 x 收到消息延迟指定时间回复 x 对不同好友定制不同的回复内容...x 在手机端随时进行控制 itchat的原理是通过扫码进行远程网页端的登录,然后通过在移动端进行操作,网页端进行响应,来实现一些功能,虽然似乎绕了个弯子,但是在的限制下,这似乎已经是一种最佳的方式了...用过web端的同学应该知道,当web端长期处于未操作的状态下会失去连接。在我们这个情况下,假如你长时间未收到消息,后台程序将会与失去连接,再次开启需要登上服务器重启程序,这显然非常麻烦。...到此,经过了我们的稍稍调教,已经乖了一点。...#简单分析好友信息 上文提到,既然我们能通过itchat来获取好友的信息,name自然会有很多好玩的信息(这里不做具体解析)。

2.5K60

itchat统计好友信息

echarts,加上这段 from echarts import Echart, Legend, Pie #pip install echarts-python chart = Echart(u'%s的好友性别比例...echarts-python 展示比例一般使用百分比圆饼表吧 # 使用echarts,加上这段 from echarts import Echart, Legend, Pie chart = Echart(u'%s的好友性别比例...import pandas as pd from pandas import DataFrame import matplotlib.pyplot as plt #此时稍微等一会,会跳出一个二维码,用手机扫描登录即可....jpg') '''获取好友的省份和地区分布''' Province = df_friends.Province Province_count = Province.value_counts() #有一些好友地理信息为空...import matplotlib.pyplot as plt from pandas import DataFrame import pandas as pd #此时稍微等一会,会跳出一个二维码,用手机扫描登录即可

1.9K30

Python使用itchat获取好友

最近发现了一个好玩的包itchat,通过调用网页版的接口实现收发消息,获取好友信息等一些功能,各位可以移步itchat项目介绍查看详细信息。...目标: 获取好友列表 统计性别及城市分布 根据好友签名生成词云 获取好友信息 前文说了,itchat其实是调用网页版的接口,所以登陆的时候会弹出二维码进行登陆,然后通过itchat.get_friends...import imread from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator itchat.login() #登陆网页版...因为信中位置信息是两级,省份和城市,对于北京上海这种直辖市,City字段中保存的是区的信息,这个部分做了下处理改为相应的城市名。...]==u'北京']= u'北京' df['City'][df['Province']==u'上海']= u'上海' df['City'][df['Province']==u'重庆']= u'重庆' #对于直辖市将

3.8K20

如何利用Python网络爬虫抓取好友数量以及好友的男女比例

今天我们继续focus on,不过这次给大家带来的是利用Python网络爬虫抓取好友总数量和好友男女性别的分布情况。代码实现蛮简单的,具体的教程如下。...授权成功之后,程序会继续往下执行,稍等片刻之后,便可以给您返回您的好友数量信息。 在这里,以小编的好友为例,程序运行之后,得到的信息如下图所示: ?...可以看到,小编的好友共有1637人。...至此,利用Python网络爬虫抓取好友数量以及好友的男女比例已经完成,小伙伴们可以打开电脑,赶紧去尝试一下吧,简单的几行代码,带你玩转好友~~~ ?...下一篇文章,小编继续给大家分享好友的那些事儿,带大家利用Python网络爬虫抓取好友的所在省位和城市分布,并且对其进行可视化,敬请关注~~

1.3K10
领券