【学习记录】macOS的Redis安装及基本使用
【學習記錄】macOS的Redis安裝及基本使用
- 一. Redis的安裝與啟動
- 二. 簡單使用
- ① 嘗試插入第一個key-value
- ② Redis的數據類型與基本使用
- 字符串
- 列表
- 字典(哈希表)
- 集合
- 有序集合
- 三. 雜亂無章的筆記
一. Redis的安裝與啟動
打開終端,輸入以下命令即可安裝
brew install redis安裝成功后, 輸入以下命令通過brew來啟動Redis
brew services start redis接下來啟動服務端
redis-cli二. 簡單使用
更多命令可到菜鳥教程里查詢。這個模塊只是對這些結構的簡單描述。
① 嘗試插入第一個key-value
插入鍵值對 114514 - tiansuo
set 114514 tiansuo而后通過鍵值114514即可獲得對應值tiansuo
get 114514② Redis的數據類型與基本使用
Redis中有五種數據類型:
- 字符串 String
- 列表 List
- 字典 Hash
- 集合 Set
- 有序集合 Sorted Set
字符串
感覺和C++,JAVA等語言里的String大同小異。
下列舉兩個命令例子
- append 命令:拓展字符串 (append key value)
輸入這行命令后,鍵值對更新成 114514 - tiansuohaoer
- type命令:獲取鍵的數據類型的值
列表
感覺像是數組和棧、隊列的縫合怪。
下標從0開始,有如下功能:
- 添加列表:lpush / rpush listName value, l / r分別代表從左/右開始添加元素
- 彈出元素:lpop / rpop
- 由下標獲取值:lindex key index
- 獲取范圍下標內的所有值:lrange key start stop 如 lrange listOne 0 3
字典(哈希表)
可以由以下這個初始化流程來了解字典的結構
hset person name jack // 新建一個名為person的字典,其中一個鍵值name對應值jack hset person age 20 // 在字典person中,新增一個鍵值age對應值20 hgetall person // 獲取當前字典person的所有鍵值與值 hkeys person // 獲取當前字典person的所有鍵值 hvals person // 獲取當前字典person的所有值集合
很熟悉的一個結構了, 無非就是集合的交并差。
有序集合
增加一個Score屬性,用來對集合成員進行一個排序。
集合成員唯一,但是分數不唯一,即不同成員可以分數相同。
三. 雜亂無章的筆記
筆記
客戶端啟動:本地:redis-cil 遠程:redis-cli -h host -p port -a password
eg: redis-cli -h 127.0.0.1 -p 6379 -a “mypass”
訂閱:SUBSCRIBE name
發送:PUBLISH name “message”
事務:
Redis 事務可以一次執行多個命令, 并且帶有以下三個重要的保證:
- 批量操作在發送 EXEC 命令前被放入隊列緩存。
- 收到 EXEC 命令后進入事務執行,事務中任意命令執行失敗,其余的命令依然被執行。
- 在事務執行過程,其他客戶端提交的命令請求不會插入到事務執行命令序列中。
一個事務從開始到執行會經歷以下三個階段:
- 開始事務。
- 命令入隊。
- 執行事務。
Redis 發布訂閱:消息無法持久化,如果出現網絡斷開、Redis 宕機等,消息就會被丟棄。
而 Redis Stream 提供了消息的持久化和主備復制功能
NoSql:解決高并發、高可用、高可擴展,大數據存儲等一系列問題而產生的數據庫解決方案.
叫非關系型數據庫,它的全名Not only sql。它不能替代關系型數據庫,只能作為關系型數據庫的一個良好補充。
分類:
-
鍵值(Key-Value)存儲數據庫 :典型應用: 內容緩存,主要用于處理大量數據的高訪問負載。 數據模型: 一系列鍵值對
優勢: 快速查詢 劣勢: 存儲的數據缺少結構化
-
列存儲數據庫 典型應用:分布式的文件系統
-
文檔型數據庫,比如 MongoDB ,典型應用:Web應用(與Key-Value類似,Value是結構化的)
-
圖形(Graph)數據庫 ,圖結構
Redis 應用場景:緩存(數據查詢、短連接、新聞內容、商品內容等等)。(最多使用) 分布式集群架構中的session分離。 聊天室的在線好友列表。 任務隊列。(秒殺、搶購、12306等等) 應用排行榜。 網站訪問統計。 數據過期處理(可以精確到毫秒)
Redis 持久化方案:
-
Rdb 方式: Redis 默認的方式,redis 通過快照方式將數據持久化到磁盤中。
一旦redis非法關閉,那么會丟失最后一次持久化之后的數據。
-
Aof 方式:操作一次 redis 數據庫,則將操作的記錄存儲到 aof 持久化文件中。
Redis 主從復制:持久化保證了即使redis服務重啟也不會丟失數據,因為redis服務重啟后會將硬盤上持久化的數據恢復到內存中。
但是當redis服務器的硬盤損壞了可能會導致數據丟失,如果通過redis的主從復制機制就可以避免這種單點故障,如下圖:
主redis中的數據有兩個副本(replication)即從redis1和從redis2,即使一臺redis服務器宕機其它兩臺redis服務也可以繼續提供服務。
主redis中的數據和從redis上的數據保持實時同步,當主redis寫入數據時通過主從復制機制會復制到兩個從redis服務上。
只有一個主redis,可以有多個從redis。
主從復制不會阻塞master,在同步數據時,master 可以繼續處理client 請求
主機一旦發生增刪改操作,那么從機會將數據同步到從機中. 從機不能執行寫操作
一個redis可以即是主又是從,如下圖:
總結
以上是生活随笔為你收集整理的【学习记录】macOS的Redis安装及基本使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: adam算法效果差原因_干货|快来get
- 下一篇: 如何使用Python操作MySQL数据库