一、redis基礎入門
二、redis應用進階redis
1、概念
redis是一個開源的鍵-值,便是緩存又是存儲,支持持久化,藉助sentinel實現必定意義的高可用,數據結構服務器:string,list,hash,set ,sorted set,bitmap,hyperloglog
nosql 四種流派:
key-value 鍵值型 :Memcached redis
documemtation文檔型 :Mongodb
columu family列式型 : Hbase
graph圖像型:Neo4jsql
3、經常使用命令
#redis-cli -h 查看幫助
#redis-cli -h 192.168.100.6 遠程連接
redis>help @STRING 查看有哪些命令,來自哪一個版本
redis>help set
redis>set key value 如set name lisan
redis>get key
"lisan"數據庫
4、應用進階
redis如何實現認證功能,在配置文件中vi etc/redis.conf
requirepass 123456 #123456爲密碼,重啓生效
#redis-cli -h 192.168.100.6vim
select 0 , 提示認證信息
AUTH 123456
OK ,認證經過緩存
清空數據庫: FLUSHDB:清空當前數據庫 FLUSHALL:清空全部庫 redis持久化:RDB和AOF,用那種取決於咱們的目的 RDB: snapshot,二進制格式,按事先定製的策略,週期性的將數據保存至磁盤,數據文件默認爲dump.rdb , save命令就是定製保存週期的。客戶端也能夠顯示使用save或bgsave命令啓動快照保存機制。 save,同步,在主線程中保存快照,此時會阻塞全部客戶端請求, bgsave,異步,主進程複製出來一個子進程,由子進程來保存數據,不影響業務使用 AOF: Append Only File ,記錄每一次寫操做至指定的文件尾部實現持久化,當redis重啓時,可經過從新執行文件中的命令在內存中重建數據庫,這樣這個文件會愈來愈大,BGREWRITEAOF:AOF文件重寫,不會讀取正在使用的AOF文件,而經過將內存中的數據以命令的方式保存到臨時文件中,完成以後替換原來的AOF文件。 AOF重寫過程: 一、redis主進程經過fork建立子進程 二、子進程根據redis內存中的數據建立數據庫重建命令序列於臨時文件中 三、父進程繼承client的請求,並會吧這些請求的寫操做繼續追加至原來的AOF文件,額外地,這些新的寫請求還會被放置於一個緩衝隊列中 四、子進程從新完成,會通知父進程;父進程把緩衝中的命令寫到臨時文件中 五、父進程用用臨時文件替換老的aof 參數: appendonly no appendfilename appendonly.aof appendfsync always 每次收到寫命令就寫入磁盤的aof文件,影響性能 appendfsync everysec 每秒執行一次寫入磁盤aof,推薦的操做 appendfsync no 注意,持久自己不能取代備份,還應該制定備份策略,對redis數據庫按期進行備份。 RDB與AOF同時啓用: 一、BGSAVE和BGREWRITEAOF不會同時執行 二、在Redis服務器啓動用於恢復數據時,會優先使用AOF 複製特色: 一、一個master能夠有多個slave 二、支持鏈式複製 三、master以非阻塞方式同步數據至salve 複製過程: 一、啓動salve後,從庫發送同步請求同步主庫的數據,主庫啓動後臺子進程將數據快照保存在本地數據文件中,並把數據文件發送給salve 二、salve收到數據文件後保存到本地,並加載到內存中,完成數據同步