Redis研究(二)—準備,redis研究準備

來源:互聯網
上載者:User

Redis研究(二)—準備,redis研究準備

 一.安裝Redis

安裝Redis請看這裡:http://blog.csdn.net/wtyvhreal/article/details/40980167


二.啟動和停止Redis

Redis可執行檔說明:

redis-server             Redis伺服器

redis-cli                    Redis命令列用戶端

redis-benchmark   Redis效能測試工具

redis-check-aof      AOF檔案修複工具

redis-check-dump RDB檔案檢查工具


啟動Redis有直接啟動和通過初始化指令碼啟動兩種方式,分別適用於開發環境和生產環境。

2.1 直接啟動

開發環境中推薦使用此方法運行。

redis-server
伺服器預設使用6379連接埠(6379手機鍵盤上MERZ對應的數字,MERZ是一名意大利歌女的名字),通過--port參數可以自訂連接埠號碼

redis-server --port 6380


2.2 通過初始化指令碼啟動Redis

在linux系統中可以通過初始化指令碼啟動Redis,使得Redis能隨著系統自動運行,在生產環境中推薦使用此方法運行(學生練習一般不用)。

我們需要配置Redis的運行方式和持久化檔案,記錄檔的儲存位置等,具體步驟:

(1)配置初始化指令碼:

  在Redis原始碼目錄中的utils檔案中有個名為redis_init_script的初始化指令檔,首先將這個檔案複製到/etc/init.d目錄中,檔案名稱redis_連接埠號碼,用戶端通過該連接埠號碼串連Redis,然後修改指令檔第6行的REDISPORT變數的值為同樣的連接埠號碼。

(2)建立需要的檔案夾:

 /etc/redis      存放Redis的設定檔

 /var/redis/連接埠號碼  存放Redis的持久化檔案

(3)修改設定檔:

將設定檔複製到/etc/redis目錄中,以連接埠號碼命名(6379.conf),然後按照下面對其中的部分參數進行編輯

daemonize         yes                                              使Redis以守護進程模式運行

pidfile                  /var/run/redis_連接埠號碼.pid        設定Redis的PID檔案位置

port                     連接埠號碼                                          設定Redis監聽的連接埠號碼

dir                       /var/redis/連接埠號碼                         設定持久化檔案存放位置


現在可以使用下面命令來啟動Redis了,

/etc/init.d/redis_連接埠號碼 start
然後需要執行下面使Redis隨系統自動啟動

sudo update-rc.d redis_連接埠號碼 defaults

2.3 停止Redis
停止Redis時有可能正在將記憶體中的資料同步到硬碟中,強行終止 Redis進程可能導致資料丟失。正確停止方式是向Redis發送SHUTDOWN命令。Redis收到SHUTDOWN命令後,會先斷開所有用戶端串連,然後根據配置執行持久化,最後完成退出。

redis-cli SHUTDOWN

Redis可以處理SIGTERM訊號,所以使用kill Redis 進程的PID 也可以正常技術Redis,效果與發送SHUTDOWN命令一樣。


三.Redis命令列用戶端

3.1 發送命令

(1)第一種方式,將命令作為redis-cli的參數執行

redis-cli -h 127.0.0.1 -p 6379

通過-h和-p參數可以自訂地址和連接埠號碼

(2)第二種方式,不帶參數運行redis-cli,會進入互動模式,可以自由輸入命令



3.2命令返回值

1.狀態回複

直接顯示狀態資訊


2.錯誤回複

錯誤回複以(error)開頭,並在後面加上錯誤資訊


3.整數回複

以integer開始,並在後面跟上整數資料


4.字串回複

bulk reply請求鍵值時就可以得到一個字串回複


5.多行字串回複



四.Redis多資料庫

Redis中每個資料庫對外都是一個從0開始的遞增數字命名,Redis預設支援16個資料庫,可以通過配置參數databases來修改這一數字。用戶端與Redis建立串連後會自動選擇0號資料庫,不過可以隨時使用SELECT命令更換資料庫。

Redis不支援為每個資料量庫設定不同的訪問密碼,所以一個用戶端要麼可以訪問全部資料庫,要麼連一個資料庫也沒有許可權訪問。最重要的一點是多個資料庫之間並不是完全隔離的,比如說FLUSHALL命令可以清空一個Redis執行個體中所有資料庫中的資料。

所以這些資料庫更像是一種命令空間,而不適宜儲存不同應用程式的資料。

不同的應用應該使用不同的Redis執行個體儲存資料。


由於Redis非常輕量級,一個空Redis執行個體佔用的記憶體只有1MB左右,所以不用擔心多個Redis執行個體會額外佔用很多記憶體。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.