redis:C語言編寫。單線程的內存數據庫,redis的計數器生成分佈式惟一主鍵,redis實現分佈式鎖,隊列,會話緩存。linux
linux安裝redis,
1)下載redis
2)上傳到linux
3)解壓 tar -zxvf 文件名
4)進入解壓後文件進行編輯:make(依賴gcc,注意是否安裝gcc及 版本對應,yum install gcc)
make disclean:刪除以前編譯內容
5)執行make install 將經常使用的命令腳本存放到默認目錄下/usr/local/bin
6)cd /usr/local/bin 查看常量命令腳本
redis-benchmark:性能測試工具 ;redis-check-aof、redis-check-rdb:修復aof,rdb損壞工具; redis-sentinel:搭建哨兵模式使用
7)啓動redis,redis.conf(建議備份redis.conf文件,操做備份文件)
啓動 /usr/local/bin/redis-server /root/redis/myredis/redis.conf
修改redis.conf文件中的daemonize yes:守護進程
redis--單進程,默認16個庫,0-15。統一密碼管理,
protected-mode:保護模式(除本機外,其餘的都沒法鏈接)啓用條件:第一沒有使用bind,第二沒有設置訪問密碼。
設置外網訪問:1註釋bind而且把protected-mode no
2使用bind
3設置密碼
redis有5種數據類型:string list set hash zsetredis
持久化機制:數據庫
rdb
aof:原理是將redis的操做日誌以追加的方式寫入文件,讀操做是不記錄的
觸發機制(根據配置文件配置項)
appendfsync everysec
no:表示等操做系統進行數據緩存同步到磁盤(快,持久沒有保證)
always:同步持久化,每次發生數據變動時,當即記錄到磁盤(慢,安全)
everysec:表示每秒同步一次(默認值,很快,可是會丟失1秒之內的數據)
aof重寫機制
當AOF文件增加到必定大小的時候Redis可以調用bgrewriteaof對日誌文件進行重寫,緩存
當aof文件大小的增加率大於該配置項時自動開啓重寫(這裏指標超過原大小的100%)
auto-aof-rewrite-percentage 100
當aof文件增加到必定大小的時候redis可以調用bgrewriteaof對日誌文件進行重寫,當aof文件大小大於該配置項時自動開啓重寫
auto-aof-rewrite-min-size 64mb 生成中會配置比較大的參數(例如3G、5G)
appendonly yes :開啓aof持久化機制
優化數據丟失問題,rdb會丟失最後一次快照的數據,aof丟失不會超過2秒的數據
rdb適合大規模的數據恢復,對數據完整性和一致性不高,在必定間隔時間作一次備份,若是redis意外down機的話,安全
就會丟失最後一次快照後的全部操做
aof根據配置項而定
官方建議:2種持久化機制同時開啓,若是2種同時開啓,優先使用aof持久化機制。app