> GEOADD 添加地理位置
网站:[https://www.redis.net.cn/order/](https://www.redis.net.cn/order/)
~~~
参数key 值 (维度 经度)
GEOADD china:city 116.40 39.90 beijin 121.47 31.23 shanghai 106.50 29.53 chongqin 114.05 22.52 shengzheng 120.16 30.24 hangzhou 108.96 34.26 xian
~~~
> GEOPOS 获取位置元素的位置(经度和纬度)
~~~
127.0.0.1:6379> GEOPOS china:city beijin
1) 1) "116.39999896287918091"
2) "39.90000009167092543"
~~~
> # GEODIST 命令 - 返回两个给定位置之间的距离
~~~
127.0.0.1:6379> GEODIST china:city beijin shanghai km //北京到上海的直线距离
"1067.3788"
m 表示单位为米。
km 表示单位为千米。
mi 表示单位为英里。
ft 表示单位为英尺。
~~~
> GEORADIUS以给定的经纬度为中心, 找出某一半径内的元素:例如附近的人
~~~
127.0.0.1:6379> GEORADIUS china:city 110 30 500 km //以100,30 这个经度位中心查找方圆 500km的城市
1) "chongqin"
2) "xian"
127.0.0.1:6379> GEORADIUS china:city 110 30 500 km withcoord //显示他人的定位信息
1) 1) "chongqin"
2) 1) "106.49999767541885376"
2) "29.52999957900659211"
2) 1) "xian"
2) 1) "108.96000176668167114"
2) "34.25999964418929977"
127.0.0.1:6379> GEORADIUS china:city 110 30 500 km withdist //显示到中间的位置
1) 1) "chongqin"
2) "341.9374"
2) 1) "xian"
2) "483.8340"
127.0.0.1:6379> GEORADIUS china:city 110 30 500 km withdist withcoord count 1 //筛选出指定的结果
1) 1) "chongqin"
2) "341.9374"
3) 1) "106.49999767541885376"
2) "29.52999957900659211"
~~~
> # GEORADIUSBYMEMBER
~~~
127.0.0.1:6379> GEORADIUSBYMEMBER china:city shanghai 400 km //找出位于指定元素周围的其他元素
1) "hangzhou"
2) "shanghai"
~~~
> ##### GEOHASH 命令 - 原理就是将二维经纬度转换为一个11位字符串 ,如果两个字符串越接近 距离越近
~~~
127.0.0.1:6379> GEOHASH china:city beijin chongqin
1) "wx4fbxxfke0"
2) "wm5xzrybty0"
~~~
**注意:geo底层就是zset,所以zset所有指令可以用于geo**
- Redis 介绍
- 为什么要用Nosql
- Memcached(缓存)+Mysql+ 垂直拆分
- 分库分表+水平拆分+Mysql集群
- 什么是Nosql
- Nosql的特点
- 了解 3V+ 3高
- Redis 入门
- 概述
- Redis 能干啥
- 特性
- 常用网站
- 端口
- 查看redis是否启动
- Redis 基本操作
- Redis切换数据库
- 查看所有的key
- 清空当前数据库跟清除所有数据库
- 五大数据类型
- Redis Key
- 检测key值是否存在
- 移除key值
- 设置keyzhi10秒钟后消失
- 查看当前key的类型
- String(类型)
- 设置字符串
- 获取字符串
- 追加一个值到字符串
- 获取字符串长度
- 自增跟自减
- 字符串范围 range
- 替换指定开始的字符串
- 设置过期时间
- 设置多个字符串/获取多个字符串
- 检测值不存在在创建
- List(列表类型)
- 介绍
- 左边塞入一个值
- 获取值
- 左边塞入多个值
- 右边塞入一个值
- 移除左边或右边第一个值
- 通过下标获取值
- 获取长度
- 移除指定的值
- 截取固定的值
- 移除列表最后一个元素,将他移动新的列表中
- 检测列表是否存在
- 将列表中指定下标的值替换为另外一个值
- 往指定列表值前后插入数据
- 消息队列 跟栈
- SET(集合)操作
- 注意
- 添加一个或多个值
- 集合获取值
- 判断某一个值是否在集合中
- 获取集合中的个数
- 移除某一个元素
- 随机一个元素
- 随机删除一个元素
- 移动指定的值到另一个集合中
- 交集 并集 差集
- HASH(哈希)
- Hash介绍
- 设置一个或多个值
- 获取一个或多个值
- 获取所有的值
- 删除一个值
- hash获取长度
- 判断某个值是否存在
- 获取所有key 跟所有value
- 自增
- 如果不存在可以设置值 /如果存在不可以设置
- 总结
- ZSEt(有序集合)
- zset添加一个或多个值
- 查看值
- 显示全部的用户 从小到大
- 从大到下排列
- 显示全部的用户,并且携带成绩
- 显示工资小于2900员工升序排列
- 移除元素
- 获取个数
- 获取指定区间的成员数
- 五大类型介绍
- 三种特殊数据类型
- geospatial(地理位置)
- HyperLoglog
- Bitmaps
- 哨兵模式的全部配置
- 事务
- Redis事务本质
- Redis 的事务流程
- 放弃事务
- 错误
- 悲观锁 与乐观锁
- 解锁
- Redis配置文件详解
- Redis 持久化
- RDB
- AOF(Append Only File)
- 发布订阅
- Redis 主从复制
- 哨兵模式
- Redis缓存穿透(查不到
- Redis缓存击穿(查太多了)
- Redis缓存雪崩
- laravel 操作Redis
- 配置redis
- laravel 操作 String 类型
- laravel 操作 List (队列集合)
- laravel 操作 SET(集合)操作
- laravel 操作 ZSET(有序集合)
- laravel 操作 Hash(哈希)
- laravel 个人案例/其他业余配置