1、redis
大資料時代三V:海量Volume、多樣Variety、實時Velocity
大資料時代三高:高并發、高可用(無限套娃+彼此監控)、高性能
- Redis(Remote Dictionary Server ),即遠程字典服務,是一個開源的使用ANSI C語言撰寫、支持網路、可基于記憶體亦可持久化的日志型、Key-Value資料庫,并提供多種語言的API,
# 默認有16個資料庫 使用select切換
-----------------------------------
set get flushall flushdb

redis可以用作資料庫、快取和訊息中間件,
keys * 查看所有key
exists 回傳 0 / 1
move name 1 洗掉
expire [name] [時長] 設定過期時間
type 查看型別
秒語法:ttl key 毫秒語法:pttl key 查詢key的生命周期(秒)
設定過期時間
秒語法:expire key seconds
毫秒語法:pexpire key milliseconds
設定永不過期
語法:persist key
更改鍵名稱
語法:rename key newkey
值遞增/遞減
如果字串中的值是數字型別的,可以使用incr命令每次遞增,不是數字型別則報錯,
語法:incr key
追加內容
語法:append key value
獲取值長度
語法:strlen key
獲取部分字符
語法:getrange key start end
設定過期時間
setex key [時長] [name]
獲取并設定值
getset
redis持久化
RDB快照(snapshotting)
把當前記憶體中的資料集快照寫入磁盤,也就是 Snapshot 快照(資料庫中所有鍵值對資料),恢復時是將快照檔案直接讀到記憶體里,
可以自動觸發(關機觸發、隔一段時間觸發)也可以手動觸發(save和bgsave),Redis行程執行fork操作創建子行程,RDB持久化程序由子行程負責,完成后自動結束,
恢復:將備份檔案 (dump.rdb) 移動到 redis 安裝目錄并啟動服務即可,redis就會自動加載檔案資料至記憶體了,Redis 服務器在載入 RDB 檔案期間,會一直處于阻塞狀態,直到載入作業完成為止,
AOF(append-only-file)
默認不開啟,默認使用的是RDB
通過保存Redis服務器所執行的【寫命令】來記錄資料庫狀態

RDB 持久化方式就是將 str1,str2,str3 這三個鍵值對保存到 RDB檔案中,而 AOF 持久化則是將執行的 set,sadd,lpush 三個命令保存到 AOF 檔案中,
AOF 檔案恢復:
重啟 Redis 之后就會進行 AOF 檔案的載入,
例外修復命令:redis-check-aof --fix 進行修復
AOF 重寫:
由于AOF持久化是Redis不斷將寫命令記錄到 AOF 檔案中,隨著Redis不斷的進行,AOF 的檔案會越來越大,檔案越大,占用服務器記憶體越大以及 AOF 恢復要求時間越長,為了解決這個問題,Redis新增了重寫機制,當AOF檔案的大小超過所設定的閾值時,Redis就會啟動AOF檔案的內容壓縮,只保留可以恢復資料的最小指令集,可以使用命令 bgrewriteaof 來重新,
redis發布訂閱
發布者和訂閱者都是Redis客戶端,Channel則為Redis服務器端,發布者將訊息發送到某個的頻道,訂閱了這個頻道的訂閱者就能接收到這條訊息,Redis的這種發布訂閱機制與基于主題的發布訂閱類似,Channel相當于主題,簡單來說和對講機的意思差不多,
redis主從復制

主節點寫、從節點讀,

redis哨兵模式
監控主機故障,自動選舉老大的模式


redis快取穿透



redis快取擊穿
正在瘋狂查詢的某資料過期了,導致去大量查詢持久層資料庫,

redis快取雪崩
快取集中失效,或者redis宕機,
限流降級:通過加鎖來控制執行緒數或者停掉一些不必要的服務,保證主服務的運行,
高可用:多增設幾臺redis
資料預熱:把在未來可能會頻繁訪問的資料人為提前加載到快取里,
好看請贊,養成習慣 :) 本文來自博客園,作者:靠譜楊, 轉載請注明原文鏈接:https://www.cnblogs.com/rainbow-1/p/16570478.html
關于筆者:http://reliableyang.cn/
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/501422.html
標籤:其他
上一篇:SQL陳述句的整合
