radis
Redis簡介
Redis 是完全開源的,遵守 BSD 協議,是一個高性能的 key-value 數據庫。
Redis 與其他 key - value 緩存產品有以下三個特點:
Redis支持數據的持久化,可以將內存中的數據保存在磁盤中,重啟的時候可以再次加載進行使用。
Redis不僅僅支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。
Redis支持數據的備份,即master-slave模式的數據備份。
Redis 優勢
性能極高– Redis能讀的速度是110000次/s,寫的速度是81000次/s 。
豐富的數據類型 – Redis支持二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數據類型操作。
原子 – Redis的所有操作都是原子性的,意思就是要么成功執行要么失敗完全不執行。單個操作是原子性的。多個操作也支持事務,即原子性,通過MULTI和EXEC指令包起來。
豐富的特性– Redis還支持 publish/subscribe, 通知, key 過期等等特性。
緩存訪問快,速度快
內存資源浪費,緩存有限
主動發現熱點key存儲
Redis熱點
熱點指的是訪問量特別大的數據
Redis緩存擊穿和緩存穿透
緩存擊穿:指的是緩存中沒有,但數據庫中有數據,熱數據不過期 緩存穿透:指的是緩存和數據庫沒有數據
Redis 安裝
windows:https://www.runoob.com/redis/redis-install.html linux:https://www.cnblogs.com/hunanzp/p/12304622.html
啟動
./redis-server ../redis.conf ''' redis.conf 是一個默認的配置文件。我們可以根據需要使用自己的配置文件。 啟動 redis 服務進程后,就可以使用測試客戶端程序 redis-cli 和 redis 服務交互了 '''
Redis 命令
Redis 命令用于在 redis 服務上執行操作。
要在 redis 服務上執行命令需要一個 redis 客戶端。Redis 客戶端在我們之前下載的的 redis 的安裝包中。
語法
Redis 客戶端的基本語法為:
無密碼:redis-cli.exe -h 127.0.0.1 -p 6379
有密碼:redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
測試是否啟動
在以上實例中我們連接到本地的 redis 服務并執行PING命令,該命令用于檢測 redis 服務是否啟動。
$ redis-cli redis 127.0.0.1:6379> redis 127.0.0.1:6379> PING PONG
Redis五種數據類型
字符串 String
https://www.runoob.com/redis/redis-strings.html
哈希 Hash
https://www.runoob.com/redis/redis-hashes.html
列表 List
https://www.runoob.com/redis/redis-lists.html
集合 Set
https://www.runoob.com/redis/redis-sets.html
有序集合 sorted set
https://www.runoob.com/redis/redis-sorted-sets.html
Redis 持久化
持久化,把內尺寸數據寫到磁盤防止丟失
RDB:將redis在內存中的狀態寫在硬盤中
優勢:RDB文件緊湊,全面備份,非常適用于備份和災難恢復
生成RDB文件的時候,redis主進程會fork()一個子進程處理所有保存工作,主進程不需要進行任何IO操作
RDB 在恢復大數據是的速度比AOF的恢復速度快
缺點:RDB快照是一次全量備份,存儲的是內存數據的二進制序列化形式,存儲上非常緊湊。
當進行快照持久化時,會開啟一個子進程專門負責快照持久化,
子進程會擁有父進程的內存數據,父進程修改內存子進程不會反應出來,
所以在快照持久化期間修改的數據不會被保存,可能丟失數據
AOF:記錄所有變更操作命令,在服務器啟動時,重新執行還原數據
優點:最大程度的保證數據不丟失
AOF日志文件沒有任何磁盤尋址的開銷,寫入性能非常高,文件不容易破損
AOF日志文件即使過大的時候,出現后臺重寫操作,也不會影響客戶端的讀寫
AOF日志文件的命令通過非??勺x的方式進行記錄,這個特性非常適合做災難性的誤刪除的緊急恢復
缺點:日志記錄大
對于同一份數據來說,AOF日志文件通常比RDB數據快照文件更大
AOF開啟后,支持的寫QPS會比RDB支持的寫QPS低,因為AOF一般會配置成每秒fsync一次日志文件,當然,每秒一次fsync,性能也還是很高的
以前AOF發生過bug,就是通過AOF記錄的日志,進行數據恢復的時候,沒有恢復一模一樣的數據出來
比較:AOF文件比RDB更新頻率更高
AOF更安全
RDB性能比aof好
RESP
RESP是redis客戶端和服務端之前使用的通信協議
特點:簡答,快速解析,可讀性好
總結
- 上一篇: 搜索引擎提交软件_增加SEO超级外链须知
- 下一篇: linux expr命令字符串操作