- geoDist:用来计算两个地方的直线长度,单位默认为m,可以设置
127.0.0.1:6379> geodist china:city beijing hangzhou #数据都采用第一个通过geoadd增加进去的
“1122799.8036”
127.0.0.1:6379> geodist china:city beijing hangzhou km
“1122.7998”
- georadius : 以某个纬度,经度为中心查询某半径内的所有满足条件的地方,前提是必须在同一个key中
127.0.0.1:6379> georadius china:city 116.40 35.00 1000 km # 以116.40,35.00为中心,方圆1000km的城市都进行一个查询
-
“beijing”
-
“changsha”
-
“hangzhou”
-
“shanghai”
127.0.0.1:6379> georadius china:city 116.40 35.00 1000 km withcoord count 2 # 加上count代表只展示较近的两个,然后加上withcoord表示展示经纬度
-
- “beijing”
-
- “116.39999896287918”
-
“39.900000091670925”
-
- “shanghai”
-
- “121.47000163793564”
-
“31.229999039757836”
- georadiusbymember:以geo中的某个城市为中心进行范围查找,功能和georadius类似,不过中心点换了。
127.0.0.1:6379> georadiusbymember china:city shanghai 1000 km #还可以加排序等很多,大家可以自己测试下
-
“changsha”
-
“hangzhou”
-
“shanghai”
- geohash : 返回一个或多个位置的hash值(了解就好,一般不会使用)
127.0.0.1:6379> geohash china:city shanghai beijing
-
“wtw3sj5zbj0”
-
“wx4fbxxfke0”
- geo底层由zset的一个简单体现(上面介绍的geo命令中是没有删除地理位置的表现)
127.0.0.1:6379> zrange china:city 0 -1 # 对所有城市进行一个查看
-
“changsha”
-
“hangzhou”
-
“shanghai”
-
“beijing”
127.0.0.1:6379> zrem china:city hangzhou # 删除值为hangzhou的城市
(integer) 1
127.0.0.1:6379> zrange china:city 0 -1
-
“changsha”
-
“shanghai”
-
“beijing”
hyperloglog:一般用于基数统计,例如uv(一个网页被用户访问次数)
优点:占用内存少,2^64次方只需要12K
缺点:有一定的错误率,使用时需要允许有一定的容错性
常用命令:
-
pfadd:增加一个hyperloglog类型的key-value(集合)
-
pfcount:统计一个集合中不重复元素的个数
-
pfmerge:合并两个或多个集合
127.0.0.1:6379> flushdb # 演示需要,清空当前库
OK
127.0.0.1:6379> pfadd hyper1 a s d f g h j k l a # 创建一个hyperloglog类型,存入元素,
(integer) 1
127.0.0.1:6379> pfcount hyper1 # 统计不重复的元素有多少
(integer) 9
127.0.0.1:6379> pfadd hyper2 a s d f z x v
(integer) 1
127.0.0.1:6379> pfmerge hyper3 hyper1 hyper2 # 合并hyper1,hyper2 命名为hyper3
OK
127.0.0.1:6379> pfcount hyper3
(integer) 12
bitmaps :采用的是位存储,取值为0,1,一般用来记录两种状态,和用来统计。
- 常用命令只有三个:
127.0.0.1:6379> flushdb #演示先清空当前库
OK
127.0.0.1:6379> setbit bitmap 0 0 # 设置一个bitmaps类型,然后将0标时为0
(integer) 0
127.0.0.1:6379> setbit bitmap 1 1
(integer) 0
127.0.0.1:6379> setbit bitmap 2 1
(integer) 0
127.0.0.1:6379> setbit bitmap 3 0
(integer) 0
127.0.0.1:6379> getbit bitmap 3 #用来get某一个标志位的值
(integer) 0
127.0.0.1:6379> getbit bitmap 2
(integer) 1
127.0.0.1:6379> bitcount bitmap #统计有多少个为1的
(integer) 2
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。


既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
一线互联网大厂Java核心面试题库

正逢面试跳槽季,给大家整理了大厂问到的一些面试真题,由于文章长度限制,只给大家展示了部分题目,更多Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等已整理上传,感兴趣的朋友可以看看支持一波!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
槽季,给大家整理了大厂问到的一些面试真题,由于文章长度限制,只给大家展示了部分题目,更多Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等已整理上传,感兴趣的朋友可以看看支持一波!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
本文介绍了Redis中的地理空间命令如geodist、georadius和geohash,以及HyperLogLog和Bitmaps的数据结构应用。同时提及了Java开发者的学习资源,包括全套学习资料和面试题库,旨在帮助工程师提升技能和准备面试。
808

被折叠的 条评论
为什么被折叠?



