geospatial 地理空间
可以用来实现定位、附近的人、打车APP上距离计算。
距离的实现主要基于经纬度,城市的经纬度查询:http://www.jsons.cn/lngcode
geoadd
添加地址位置
格式:geoadd key 纬度 经度 名称
对于两级无法直接添加
添加五个城市,北京,西安,上海,成都,武汉的经纬度,可以一次添加多个城市的经纬度
geopos
返回给定名称的经度和纬度 格式:geopos key 名称
可以一次请求多个城市的经纬度
geodist
返回两个给定位置之间的距离 格式:geodist key 名称1 名称2 距离单位
距离单位: m(米) km(千米) mi(英里) ft(英尺)
geohash
返回给定的名称的11位的字符哈希值
georadius
以给定经纬度为中心,找到某一个半径内的元素
表示以(110,30)为经纬度圆心,半径为1000km内的城市,经搜索有程度以及武汉两个城市,主要用于查找附近的人,打车附近可用车辆显示等...
georadiusbymember
以一个成员为中心,查找指定范围内的元素
以西安为中心,1000km内的城市有北京
这里的西安经纬度写错了,所以城市显示有误,正儿八经的经纬度应该是(108.94 34.26),如下图,只有上海不在,这才符合常识(withcoord显示带着经纬度)。
geo的底层实现上是一个zset集合,故zet集合的操作可以用在geo上:
hyperloglogs
redis中通过hyperloglogs用来进行基数统计的算法
技术估算存在一定的误差,快速计算基数
比如:{1,3 ,5,7,5,7,8}
基数集{1,3,5,7,8} 基础(不重复元素)
pfadd
指定数据到hyperloglog中
pfcount
返回基数的估算值
pfmerge
将多个hyperloglog合并为一个hyperloglog
bitmap
bitmap是位图存储,都是通过二进制来进行记录,所有只有两种状态值的场景,都可以使用
比如:登录、未登录、活跃、不活跃等
setbit
在bitmap中添加数据 格式:setbit key offset value
getbit
查看位图上某个位置的值 格式:getbit key offset
bitcount
统计位图上value为1的个数 格式:bitcount key start end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)