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執行個體會額外佔用很多記憶體。