redis 學習筆記

redis的key的數據類型:hash,list,set,sortedset
一些有用的key相關指令:
keys *;del key;type key;
string類型:set key value;get key;
hash類型:hset key field value;hget key field;hkeys key(返回所有field);hvals key;hgetall (返回所有field和value)
list類型:lpush key string,rpush(右邊放),lrange key start end 返回指定區間的所有值,lset key index value指定下標爲什麼,lrem key count value;從左邊刪除count個符合value的值,lpop key從左邊刪除元素並返回,blpop key1,。。。keyN timeout 從左到右,返回對第一個非空的list進行lpop後的結果
set是無序集合,通過hashtable實現,添加刪除,查找複雜度爲O1,
sadd key member;添加string元素到key對應的集合中,spop key,srem keymember
sorted set,add key score member:添加元素到集合
持久化
1,快照方式(默認),save操作是在主進程中保存的,redis是一個主線成來處理所有客戶端的請求的,這樣會阻塞所有客戶端請求,將所有save註釋掉,就不會保存了
2,日誌追加方法;appendonly yes啓動日誌追加
虛擬內存
適用於value比key大
主從同步:

Redis 支持將數據同步到多臺從庫上,這種特性對提高讀取性能非常有益。
1) master 可以有多個 slave。
2) 除了多個 slave 連到相同的 master 外,slave 也可以連接其它 slave 形成圖狀結構。
3) 主從複製不會阻塞 master。也就是說當一個或多個 slave 與 master 進行初次同步數據
時,master 可以繼續處理客戶端發來的請求。相反 slave 在初次同步數據時則會阻塞
不能處理客戶端的請求。
4) 主從複製可以用來提高系統的可伸縮性 ,我們可以用多個 slave 專門用於客戶端的讀
請求,比如 sort 操作可以使用 slave 來處理。也可以用來做簡單的數據冗餘。
5) 可以在 master 禁用數據持久化,只需要註釋掉 master 配置文件中的所有 save 配置,

後只在 slave 上配置數據持久化。
5.2. Redis 主從複製的過程介紹
當設置好 slave 服務器後,slave 會建立和 master 的連接,然後發送 sync 命令。無論是
第一次同步建立的連接還是連接斷開後的重新連接,master 都會啓動一個後臺進程,將數據
庫快照保存到文件中,同時 master 主進程會開始收集新的寫命令並緩存起來。後臺進程完
成寫文件後,master 就發送文件給 slave,slave 將文件保存到磁盤上,然後加載到內存恢復
數據庫快照到 slave 上。接着 master 就會把緩存的命令轉發給 slave。而且後續 master 收到
的寫命令都會通過開始建立的連接發送給 slave。 master 到 slave 的同步數據的命令和從 客

戶端發送的命令使用相同的協議格式。當 master 和 slave 的連接斷開時 slave 可以自動重新
建立連接。如果 master 同時收到多個 slave 發來的同步連接命令,只會啓動一個進程來寫數
據庫鏡像,然後發送給所有 slave。
配置 slave 服務器很簡單,只需要在配置文件中加入如下配置
slaveof 192.168.1.1 6379
#指定 master 的 ip 和端口


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