> 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 個人案例/其他業余配置