“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
==========================================================================
-
Redis事务本质:一组命令的集合,一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行,特性:一次性,顺序性,排他性
-
Redis单条命令是保证原子性的,但是事务不保证原子性
-
常用的命令:
开启事务:multi
开启后可以输入命令入列
执行事务:exec
取消事务:discard
127.0.0.1:6379> flushdb #演示清空当前库
OK
127.0.0.1:6379> multi # 开启事务
OK
127.0.0.1:6379> set name xiec #输入命令入列
QUEUED
127.0.0.1:6379> set age 23
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!