8月16日任務

21.9 redis介紹
21.10 redis安裝
21.11 redis持久化
21.12 redis數據類型

Redis介紹

redis安裝

在官網redis.io上下載最新穩定版,並編譯安裝(該應用相對特殊,無需configure直接進入make&& make install階段)

如下圖,查看redis-有很多不同後綴的文件

把redis.conf拷貝到/etc/下, 並修改關鍵配置文件

①daemonize yes:允許後臺運行

②定義logfile:/var/log/redis.log(redis中有database的概念,默認有16個,從0開始)

③定義rdb文件的路徑 dir

主從的一些相關參數

④ append only 參數,如果設置成yes就會在之前定義的dir下生成一個append.aof文件

有更新的時候記錄頻率

mkdir,redis-server /etc/redis.conf

此處還有兩個內核參數告警

①overcommit參數值建議設置成1 ②把 echo never加入到開機啓動項/etc/rc.local中

強烈建議在命令行模式設置後,也把這兩行內核參數加入到/etc/rc.local中

redis持久化

和mysql不同,mysql的數據在內存只是一個臨時的中轉站,最終存到磁盤上,而redis則兩者都可以(內存和磁盤等其他外部介質)

RDB:相當於把內存的數據鏡像一份到磁盤上,時間是由redis.conf配置文件中的save參數決定的

900秒內發生一次,300秒內發生十次,60秒內發生10000次更改就會觸發(註釋掉這三行,打開上面的save " "表示關閉持久化)

AOF:侷限性在於:隨着時間的增長,每次更改會不斷記錄日誌文件,需要優化過程(記錄redis執行過程中的指令,下次redis重新啓動時重新執行一遍,實現數據恢復);所謂優化,比如過一段時間發現很多AOF日誌過期,可以刪除相關的key

AOF的三種形式:

最後一種是根據系統的頻率去同步,第二種最優,第一種過於耗費磁盤IO/A

是否使用RDB/AOF根據實際情況而定(數據從內存→IO到磁盤的過程)

redis數據類型

①string

如下圖示例:

②list

具體示例:LPUSH (鏈表中加入一些元素), LRANGE(查看list所有值,先進後出), LPOP (後進先出)

③set

示例:sadd 加set集合; smembers查看集合所有元素;sunion 並集; sinter 交集; sdiff 差集;srem 刪除某元素

④sort set有序集合

示例:ZADD 有序添加集合set, ZRANGE 按照score大小正序排列後面的value,不顯示score ; ZREVRANGE 倒序排列

⑤hash(可以認爲是結構化的hashmap)

示例:

發現換了最後一示例最後個度來實現持久化,那就④是將redis執行過的所有寫指令記錄下來,在下次redis重新啓動時,只要把這些寫指令從前到後再重複執行一遍,就可以實現數據了一個角度來實現持久化,那就是將redis執行過的所有寫指令記錄下來,在下次redis重新啓動時,只要把這些寫指令從前到後再重複執行一遍,就可以實現數據恢復了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章