1. 程式人生 > >Mac Redis-4.0.11安裝、配置

Mac Redis-4.0.11安裝、配置

基本知識

1、Redis的資料型別:

  字串、列表(lists)、集合(sets)、有序集合(sorts sets)、雜湊表(hashs)

2、Redis和memcache相比的獨特之處:

  (1)redis可以用來做儲存(storge)、而memcache是來做快取(cache)。這個特點主要是因為其有“持久化”功能

  (2)儲存的資料有“結構”,對於memcache來說,儲存的資料,只有一種型別——“字串”,而redis則可以儲存字串、連結串列、集合、有序集合、哈序結構

3、持久化的兩種方式:

  Redis將資料儲存於記憶體中,或被配置為使用虛擬記憶體。

  實現資料持久化的兩種方式:(1)使用截圖的方式,將記憶體中的資料不斷寫入磁碟(效能高,但可能會引起一定程度的資料丟失)

               (2)使用類似mysql的方式,記錄每次更新的日誌

4、Redis的主從同步:對提高讀取效能非常有益

5、Redis服務端的預設埠是6379

接下來我們來安裝Redis

1、先到Redis官網(redis.io)下載redis安裝包 

2.加下載下來的壓縮包解壓,並將解壓出來的檔案放入/usr/local資料夾下。(系統目錄可能需要鑑定)

  • 解壓:tar zxvf redis-4.0.11.tar.gz
  • 移動到: mv redis-4.0.11 /usr/local/

3.切換到我們拖拽的檔案下然後進行編譯測試,編譯安裝

  • 切換到:cd /usr/local/redis-4.0.11/
  • 編譯測試 sudo make test
  • 編譯安裝 sudo make install

redis 的啟動與停止

redis-server 和 redis-cli 位於 redis-4.0.11/src 目錄下 (這裡我是首先開啟這個目錄(/usr/local/redis-4.0.11)下進行的,也可以直接進行具體的目錄檔案)(如果看到別的安裝環境有bin、etc等資料夾的路徑出現的,不要著急後面會講,這裡先一步步從基本開始)

  • 啟動:啟動 Redis 並載入配置檔案:./src/redis-server(這裡有一個空格) ./redis.conf

成功之後可看到類似如下的終端樣式:

  • 開啟redis客戶端 redis-cli
    ;如果有密碼,可使用 auth yourpassword做簡單的密碼登入
  • 關閉方式一:在客戶端執行 SHUTDOWN可關閉 redis 服務
  • 如果關閉不了就加一個引數,執行 SHUTDOWN NOSAVE可關閉 redis 服務
  • 關閉方式二:如果用了zsh,可以執行kill redis並按tab,結束 redis 程序,也可在活動監視器裡結束掉程序。

3.配置(關閉以上終端,另開一個終端介面)

在redis目錄下建立bin,etc,db三個目錄

sudo mkdir  /usr/local/redis-3.2.8/bin
sudo mkdir  /usr/local/redis-3.2.8/etc
sudo mkdir  /usr/local/redis-3.2.8/db

把/usr/local/redis/src目錄下的mkreleasehdr.sh,redis-benchmark, redis-check-rdb, redis-cli, redis-server拷貝到bin目錄

cp /usr/local/redis-3.2.8/src/mkreleasehdr.sh .
cp /usr/local/redis-3.2.8/src/redis-benchmark .
cp /usr/local/redis-3.2.8/src/redis-check-rdb .
cp /usr/local/redis-3.2.8/src/redis-cli .
cp /usr/local/redis-3.2.8/src/redis-server .

拷貝 redis.conf 到 /usr/local/redis/etc下

cp /usr/local/redis-3.2.8/redis.conf /usr/local/redis-3.2.8/etc

修改redis.conf( vim /usr/local/redis-4.0.11/redis.conf)

#修改為守護模式(改成yes將會在開啟redis的終端介面關閉後臺情況下仍能夠使用)
daemonize yes
#設定程序鎖檔案
pidfile /usr/local/redis-3.2.8/redis.pid
#埠
port 6379
#客戶端超時時間
timeout 300
#日誌級別
loglevel debug
#日誌檔案位置
logfile /usr/local/redis-3.2.8/log-redis.log
#設定資料庫的數量,預設資料庫為0,可以使用SELECT <dbid>命令在連線上指定資料庫id
databases 16
##指定在多長時間內,有多少次更新操作,就將資料同步到資料檔案,可以多個條件配合
#save <seconds> <changes>
#Redis預設配置檔案中提供了三個條件:
save 900 1
save 300 10
save 60 10000
#指定儲存至本地資料庫時是否壓縮資料,預設為yes,Redis採用LZF壓縮,如果為了節省CPU時間,
#可以關閉該#選項,但會導致資料庫檔案變的巨大
rdbcompression yes
#指定本地資料庫檔名
dbfilename dump.rdb
#指定本地資料庫路徑
dir /usr/local/redis-3.2.8/db/
#指定是否在每次更新操作後進行日誌記錄,Redis在預設情況下是非同步的把資料寫入磁碟,如果不開啟,可能
#會在斷電時導致一段時間內的資料丟失。因為 redis本身同步資料檔案是按上面save條件來同步的,所以有
#的資料會在一段時間內只存在於記憶體中
appendonly no
#指定更新日誌條件,共有3個可選值:
#no:表示等作業系統進行資料快取同步到磁碟(快)
#always:表示每次更新操作後手動呼叫fsync()將資料寫到磁碟(慢,安全)
#everysec:表示每秒同步一次(折衷,預設值)
appendfsync everysec

Redis的配置

  daemonize:如需要在後臺執行,把該項的值改為yes

  pdifile:把pid檔案放在/var/run/redis.pid,可以配置到其他地址

  bind:指定redis只接收來自該IP的請求,如果不設定,那麼將處理所有請求,在生產環節中最好設定該項

  port:監聽埠,預設為6379

  timeout:設定客戶端連線時的超時時間,單位為秒

  loglevel:等級分為4級,debug,revbose,notice和warning。生產環境下一般開啟notice

  logfile:配置log檔案地址,預設使用標準輸出,即列印在命令列終端的埠上

  database:設定資料庫的個數,預設使用的資料庫是0

  save:設定redis進行資料庫映象的頻率

  rdbcompression:在進行映象備份時,是否進行壓縮

  dbfilename:映象備份檔案的檔名

  dir:資料庫映象備份的檔案放置的路徑

  slaveof:設定該資料庫為其他資料庫的從資料庫

  masterauth:當主資料庫連線需要密碼驗證時,在這裡設定

  requirepass:設定客戶端連線後進行任何其他指定前需要使用的密碼

  maxclients:限制同時連線的客戶端數量

  maxmemory:設定redis能夠使用的最大記憶體

  appendonly:開啟appendonly模式後,redis會把每一次所接收到的寫操作都追加到appendonly.aof檔案中,當redis重新啟動時,會從該檔案恢復出之前的狀態

  appendfsync:設定appendonly.aof檔案進行同步的頻率

  vm_enabled:是否開啟虛擬記憶體支援

  vm_swap_file:設定虛擬記憶體的交換檔案的路徑

  vm_max_momery:設定開啟虛擬記憶體後,redis將使用的最大實體記憶體的大小,預設為0

  vm_page_size:設定虛擬記憶體頁的大小

  vm_pages:設定交換檔案的總的page數量

  vm_max_thrrads:設定vm IO同時使用的執行緒數量

之後我們再次啟動服務的話就可以使用以下終端程式碼啟動redis服務

./bin/redis-server etc/redis.conf

檢視日誌

tail -f log-redis.log

開啟redis客戶端

./bin/redis-cli

客戶端常用命令:

命令 用途
set key value 設定 key 的值
get key 獲取 key 的值
exists key 檢視此 key 是否存在
keys * 檢視所有的 key
flushall 消除所有的 key