用Redis实现附近的人。
大家好,我是六六。今天继续为大家分享Redis系列第九课:地理位置信息使用场景。Redis是一种基于地理信息位置的一种操作的功能,它使用精度和纬度坐标来表示地理位置,支持存储、附近位置摇一摇这类位置信息的一些功能。
来看一下它怎么用?很简单,就用Redis,放一个k,这边就是精度纬度,名字下边是一个视力,比如有一个叫cities的地理位置信息应用,没有既有爱的,把北京的精度纬度放进去,把上海的精度纬度放进去,把广州的精度纬度放进去。
比如想知道北京到上海的距离,就用Redis的集合的名字叫Redis,写上北京和上海,用公里数来算,就可以返回说北京到上海距离有多少公里。比如后边想知道广州的地理位置是什么,就可以用Redis peelpose,写上Redis,里边广州,就会把原来存进去的坐标值给我们。
想实现想查一个经纬度一千公里内的一些东西有什么,就可以用Redis readers命令,比如只有Redis,写上Redis,写了一个精度,有一个纬度,说离经纬度一千公里都有哪些东西,Redis返回,就可以说用Redis cities,一个经纬度千公里,这样就可以。
也可以说想根据列表里头的某一个成员,让它查询距离上海一百公里里边都有什么东西,就可以用Redis by member,指定上海一公里,一百公里,就会返回说一百公里里边有什么东西。
比如里边有哪个成员不需要了,怎么把它删除?就用Redis store,指定Redis store,指定这边一个成员的k就可以了,就可以把它删除。
这里边还有一种特殊的用法,也就是Redis store,Redis store相当于把整个地图分成小块,比如分成这样一些小块,每个小块里边的所有的点都是相同的哈密值,比如Redis store,北京,北京就相当于北京经纬度在小格子里边的所有的跟经纬度靠近的这种,它的Redis都是一样的。
所以也可以用这个东西来模糊的匹配,说哪些东西离得很近,这样返回给各种应用程序,这样也可以把精确的坐标位置引掉,给一个相对来说比较模糊的值,让大家去做运算。
今天的分享就到这里,如果有问题欢迎大家在留言区留言。