天天看點

redis安裝與配置檔案詳解

redis是什麼:

redis是開源,BSD許可,進階的key-value存儲系統.,可以用來存儲字元串,哈希結構,連結清單,集合,是以,常用來提供資料結構服務。

redis和memcached的對比:

1: redis可以用來做存儲(storge), 而memccached是用來做緩存(cache)

  這個特點主要因為其有”持久化”的功能.

2: 存儲的資料有”結構”,對于memcached來說,存儲的資料,隻有1種類型--”字元串”,而redis則可以存儲字元串,連結清單,哈希結構,集合,有序集合.

Redis下載下傳安裝:

1:官方站點: redis.io 下載下傳最新版或者最新stable版

wget http://download.redis.io/releases/redis-3.0.5.tar.gz

2:解壓源碼并進入目錄

  tar xvf redis-3.0.5.tar.gz 

  cd redis-3.0.5

3: 不用configure

官方已經編譯過了

4: 直接make 

Yum install gcc -y

make

make PREFIX=/path  install     指定安裝檔案存放路徑

(如果是32位機器 make 32bit)

5: 指定安裝目錄,比如 /usr/local/redis

make  PREFIX=/usr/local/redis install

6: make install之後,得到如下幾個檔案

redis-benchmark  性能測試工具

redis-check-aof  日志檔案檢測工(比如斷電造成日志損壞,可以檢測并修複)

redis-check-dump  快照檔案檢測工具,效果類上

redis-cli  用戶端

redis-server 服務端

7: 複制配置檔案

Cp /path/redis.conf /usr/local/redis

8: 啟動與連接配接

/path/to/redis/bin/redis-server  ./path/to/conf-file

#/path/to/redis/bin/redis-cli [-h localhost -p 6379 ]

10: 讓redis以背景程序的形式運作

編輯conf配置檔案,修改如下内容;

daemonize yes

Redis配置檔案詳解:

daemonize no 是否以背景程序啟動

databases 16 建立database的數量(預設選中的是database 0)

save 900 1    #重新整理快照到硬碟中,必須滿足兩者要求才會觸發,即900秒之後至少1個關鍵字發生變化。

save 300 10  #必須是300秒之後至少10個關鍵字發生變化。

save 60 10000 #必須是60秒之後至少10000個關鍵字發生變化。

stop-writes-on-bgsave-error yes    #背景存儲錯誤停止寫。

rdbcompression yes    #使用LZF壓縮rdb檔案。

rdbchecksum yes    #存儲和加載rdb檔案時校驗。

dbfilename dump.rdb    #設定rdb檔案名。

dir ./    #設定工作目錄,rdb檔案會寫入該目錄。

slaveof <masterip> <masterport> 設為某台機器的從伺服器

masterauth <master-password>   連接配接主伺服器的密碼

slave-serve-stale-data yes  # 當主從斷開或正在複制中,從伺服器是否應答

slave-read-only yes #從伺服器隻讀

repl-ping-slave-period 10 #從ping主的時間間隔,秒為機關

repl-timeout 60 #主從逾時時間(逾時認為斷線了),要比period大

slave-priority 100    #如果master不能再正常工作,那麼會在多個slave中,選擇優先值最小的一個slave提升為master,優先值為0表示不能提升為master。

repl-disable-tcp-nodelay no #主端是否合并資料,大塊發送給slave

slave-priority 100 從伺服器的優先級,當主服挂了,會自動挑slave priority最小的為主服

requirepass foobared # 需要密碼

rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52 #如果公共環境,可以重命名部分敏感指令 如config

maxclients 10000 #最大連接配接數

maxmemory <bytes> #最大使用記憶體

maxmemory-policy volatile-lru #記憶體到極限後的處理

volatile-lru -> LRU算法删除過期key

allkeys-lru -> LRU算法删除key(不區分過不過期)

volatile-random -> 随機删除過期key

allkeys-random -> 随機删除key(不區分過不過期)

volatile-ttl -> 删除快過期的key

noeviction -> 不删除,傳回錯誤資訊

maxmemory-samples 3

appendonly no #是否僅要日志

appendfsync no # 系統緩沖,統一寫,速度快

appendfsync always # 系統不緩沖,直接寫,慢,丢失資料少

appendfsync everysec #折衷,每秒寫1次

no-appendfsync-on-rewrite no #為yes,則其他線程的資料放記憶體裡,合并寫入(速度快,容易丢失的多)

auto-AOF-rewrite-percentage 100 目前aof檔案是上次重寫是大N%時重寫

auto-AOF-rewrite-min-size 64mb aof重寫至少要達到的大小

slowlog-log-slower-than 10000 #記錄響應時間大于10000微秒的慢查詢

slowlog-max-len 128   # 最多記錄128條

time  傳回時間戳+微秒

dbsize 傳回key的數量

bgrewriteaof 重寫aof

bgsave 背景開啟子程序dump資料

save 阻塞程序dump資料

lastsave 

slaveof host port 做host port的從伺服器(資料清空,複制新主内容)

slaveof no one 變成主伺服器(原資料不丢失,一般用于主服失敗後)

flushdb  清空目前資料庫的所有資料

flushall 清空所有資料庫的所有資料(誤用了怎麼辦?)

shutdown [save/nosave] 關閉伺服器,儲存資料,修改AOF(如果設定)

slowlog get 擷取慢查詢日志

slowlog len 擷取慢查詢日志條數

slowlog reset 清空慢查詢

info []

config get 選項(支援*通配)

config set 選項 值

config rewrite 把值寫到配置檔案

config restart 更新info指令的資訊

debug object key #調試選項,看一個key的情況

debug segfault #模拟段錯誤,讓伺服器崩潰

object key (refcount|encoding|idletime)

monitor #打開控制台,觀察指令(調試用)

client list #列出所有連接配接

client kill #殺死某個連接配接  CLIENT KILL 127.0.0.1:43501

client getname #擷取連接配接的名稱 預設nil

client setname "名稱" #設定連接配接名稱,便于調試

連接配接指令

auth 密碼 密碼登陸(如果有密碼)

ping 測試伺服器是否可用

echo "some content" 測試伺服器是否正常互動

繼續閱讀