Redis是當前比較熱門的NOSQL系統之一,它是一個key-value存儲系統。和Memcached類似,但很大程度補償了memcached的不足,它支持存儲的value類型相對更多,包括string、list、set、zset和hash。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作。在此基礎上,redis支持各種不同方式的排序。Redis數據都是緩存在計算機內存中,並且會週期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件。
redis官網地址:http://www.redis.io/
最新版本:2.8.3
在Linux下安裝Redis非常簡單,具體步驟如下(官網有說明):
1、下載源碼,解壓縮後編譯源碼。
$ wget http://download.redis.io/releases/redis-2.8.3.tar.gz $ tar xzf redis-2.8.3.tar.gz $ cd redis-2.8.3 $ make
2、編譯完成後,在Src目錄下,有四個可執行文件redis-server、redis-benchmark、redis-cli和redis.conf。然後拷貝到一個目錄下。
mkdir /usr/redis cp redis-server /usr/redis cp redis-benchmark /usr/redis cp redis-cli /usr/redis cp redis.conf /usr/redis cd /usr/redis
3、啓動Redis服務。
$ ./redis-server redis-cli
4、然後用客戶端測試一下是否啓動成功。
$ ./redis-cli redis> set foo bar OK redis> get foo "bar"
Redis 由四個可執行文件:redis-benchmark、redis-cli、redis-server、redis-stat 這四個文件,加上一個redis.conf就構成了整個redis的最終可用包。它們的作用如下:
- redis-server:Redis服務器的daemon啓動程序
- redis-cli:Redis命令行操作工具。當然,你也可以用telnet根據其純文本協議來操作
- redis-benchmark:Redis性能測試工具,測試Redis在你的系統及你的配置下的讀寫性能
- redis-stat:Redis狀態檢測工具,可以檢測Redis當前狀態參數及延遲狀況
現在就可以啓動redis了,redis只有一個啓動參數,就是他的配置文件路徑。
redis-server /etc/redis.conf
注意,默認複製過去的redis.conf文件的daemonize參數爲no,所以redis不會在後臺運行,這時要測試,我們需要重新開一個終端。修改爲yes則爲後臺運行redis。另外配置文件中規定了pid文件,log文件和數據文件的地址,如果有需要先修改,默認log信息定向到stdout.
下面是redis.conf的主要配置參數的意義:
- daemonize:是否以後臺daemon方式運行
- pidfile:pid文件位置
- port:監聽的端口號
- timeout:請求超時時間
- loglevel:log信息級別
- logfile:log文件位置
- databases:開啓數據庫的數量
- save * *:保存快照的頻率,第一個*表示多長時間,第三個*表示執行多少次寫操作。在一定時間內執行一定數量的寫操作時,自動保存快照。可設置多個條件。
- rdbcompression:是否使用壓縮
- dbfilename:數據快照文件名(只是文件名,不包括目錄)
- dir:數據快照的保存目錄(這個是目錄)
- appendonly:是否開啓appendonlylog,開啓的話每次寫操作會記一條log,這會提高數據抗風險能力,但影響效率。
- appendfsync:appendonlylog如何同步到磁盤(三個選項,分別是每次寫都強制調用fsync、每秒啓用一次fsync、不調用fsync等待系統自己同步)
這時你可以打開一個終端進行測試了,配置文件中默認的監聽端口是6379
我們可以開啓一個Redis客戶端進行測試
[root@SNDA-192-168-1-114 ~]# redis-cli Could not connect to Redis at 127.0.0.1:6379: Connection refused not connected> exit [root@SNDA-192-168-1-114 ~]# redis-server /etc/redis.conf [root@SNDA-192-168-1-114 ~]# redis-cli redis 127.0.0.1:6379> quit
Redis是當前比較熱門的NOSQL系統之一,它是一個key-value存儲系統。和Memcached類似,但很大程度補償了memcached的不足,它支持存儲的value類型相對更多,包括string、list、set、zset和hash。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作。在此基礎上,redis支持各種不同方式的排序。Redis數據都是緩存在計算機內存中,並且會週期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件。
redis官網地址:http://www.redis.io/
最新版本:2.8.3
在Linux下安裝Redis非常簡單,具體步驟如下(官網有說明):
1、下載源碼,解壓縮後編譯源碼。
$ wget http://download.redis.io/releases/redis-2.8.3.tar.gz $ tar xzf redis-2.8.3.tar.gz $ cd redis-2.8.3 $ make
2、編譯完成後,在Src目錄下,有四個可執行文件redis-server、redis-benchmark、redis-cli和redis.conf。然後拷貝到一個目錄下。
mkdir /usr/redis cp redis-server /usr/redis cp redis-benchmark /usr/redis cp redis-cli /usr/redis cp redis.conf /usr/redis cd /usr/redis
3、啓動Redis服務。
$ ./redis-server redis-cli
4、然後用客戶端測試一下是否啓動成功。
$ ./redis-cli redis> set foo bar OK redis> get foo "bar"
Redis 由四個可執行文件:redis-benchmark、redis-cli、redis-server、redis-stat 這四個文件,加上一個redis.conf就構成了整個redis的最終可用包。它們的作用如下:
- redis-server:Redis服務器的daemon啓動程序
- redis-cli:Redis命令行操作工具。當然,你也可以用telnet根據其純文本協議來操作
- redis-benchmark:Redis性能測試工具,測試Redis在你的系統及你的配置下的讀寫性能
- redis-stat:Redis狀態檢測工具,可以檢測Redis當前狀態參數及延遲狀況
現在就可以啓動redis了,redis只有一個啓動參數,就是他的配置文件路徑。
redis-server /etc/redis.conf
注意,默認複製過去的redis.conf文件的daemonize參數爲no,所以redis不會在後臺運行,這時要測試,我們需要重新開一個終端。修改爲yes則爲後臺運行redis。另外配置文件中規定了pid文件,log文件和數據文件的地址,如果有需要先修改,默認log信息定向到stdout.
下面是redis.conf的主要配置參數的意義:
- daemonize:是否以後臺daemon方式運行
- pidfile:pid文件位置
- port:監聽的端口號
- timeout:請求超時時間
- loglevel:log信息級別
- logfile:log文件位置
- databases:開啓數據庫的數量
- save * *:保存快照的頻率,第一個*表示多長時間,第三個*表示執行多少次寫操作。在一定時間內執行一定數量的寫操作時,自動保存快照。可設置多個條件。
- rdbcompression:是否使用壓縮
- dbfilename:數據快照文件名(只是文件名,不包括目錄)
- dir:數據快照的保存目錄(這個是目錄)
- appendonly:是否開啓appendonlylog,開啓的話每次寫操作會記一條log,這會提高數據抗風險能力,但影響效率。
- appendfsync:appendonlylog如何同步到磁盤(三個選項,分別是每次寫都強制調用fsync、每秒啓用一次fsync、不調用fsync等待系統自己同步)
這時你可以打開一個終端進行測試了,配置文件中默認的監聽端口是6379
我們可以開啓一個Redis客戶端進行測試
[root@SNDA-192-168-1-114 ~]# redis-cli Could not connect to Redis at 127.0.0.1:6379: Connection refused not connected> exit [root@SNDA-192-168-1-114 ~]# redis-server /etc/redis.conf [root@SNDA-192-168-1-114 ~]# redis-cli redis 127.0.0.1:6379> quit