■河北科技師范學院 趙學作
Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供Java、C/C++,C#、PHP、JavaScript、Perl、Object-C、Python、Ruby、Erlang等多種語言的API,使用起來非常方便。
Redis是一個開源(BSD許可)的,內存中的數據結構存儲系統,它可以用作數據庫、緩存和消息中間件。它支持多種類型的數據結構。Redis的外圍由一個鍵,值映射的字典構成。
與其他非關系型數據庫主要不同在于Redis中值的類型不僅限于字符串,還支持如下抽象數據類型:字符串列表、無序不重復的字符串集合、有序不重復的字符串集合、鍵與值都為字符串的哈希表。
值的類型決定了值本身支持的操作,所以Redis支持不同無序、有序的列表,無序、有序的集合間的交集、并集等高級服務器端原子操作。
1.準備工作
(1)如果系統中事先沒有安裝過GCC,應該先安裝一下GCC:
# yum-y install gcc automake autoconf libtool make
(2)從http://download.redis.io/releases/redis-5.0.4.tar.gz下載最新穩定版本Redis 5.0.4 并上傳到/usr/local目錄中。
2.開始安裝Redis



3.配置Redis開機自啟動
CentOS7下配置隨系統啟動需要在目錄/etc/init.d中添加啟動腳本,啟動腳本的模板在Redis源代碼目錄的utils文件夾中:redis_init_script,我們把這個文件復制到/etc/init.d文件夾中,并重命名為redis_6379,這個服務的名稱即為redis_6379,如圖1所示。其中$EXEC $CONF代碼中變量賦值,exec為redis-server命令路徑,conf為配置文件。
4.建立并修改配置文件
因為配置文件/etc/redis/6379.conf,這個文件還沒有,我們下面來配置它。創建目錄/etc/redis。把配置文件的模板redis-5.0.4/redis.conf復制到/etc/redis目錄,并重命名為6379.conf。

打開6379.conf這個文件并按以下內容修改:
(1)注釋掉這一句(句首加個#),允許外網訪問。
# bind 127.0.0.1
(2)關閉保護模式(即把原yes改成no)。
protected-mode no
(3)Redis默認不是以守護進程的方式運行,可以通過該配置項修改,使用yes啟用守護進程。
daemonize yes

圖1 配置開機自啟動
(4)當Redis以守護進程方式運行時,Redis默認會把pid寫入/var/run/redis.pid文件,可以通過pidfile指定。
pidfile/var/run/redis_6379.pid
(5)指定Redis監聽端口,默認端口為6379,如果指定0端口,表示Redis不監聽TCP連接。
port 6379
(6)配置訪問密碼。

#指定密碼123456
(7)指定本地數據庫存放目錄,數據庫文件名由上一個dbfilename配置項指定。

當然/var/redis/6379 這個目錄還沒有,需要我們用命令行創建,用于存放Redis的持久化文件。

配置完成后執行命令:

通過上面的操作后,我們就可以通過如下命令啟動或停止Redis 了。

1.下載并解壓
下載https://github.com/microsoftarchive/redis/releases/download/win-3.0.504/Redis-x64-3.0.504.zip壓縮包,并解壓到某個目錄中,如:D: edis。
2.啟動服務
通過CMD命令進入Redis目錄,使用命令redisserver.exe啟動服務。

3.啟動另一個CMD窗口,在Redis目錄使用命令redis-cIi.exe啟動客戶端并連接服務器。

圖2 安裝并啟動實例
4.上面雖然啟動了Redis服務,但是,只要一關閉第一個CMD窗口,Redis服務就關閉了。所以需要把Redis設置為一個Windows服務。

安裝成功后,Redis將出現在windows服務列表中。
常用redis服務命令有:

5.安裝并啟動Redis實例作服務的命令為redis-server--serviceinstaII,可以安裝多個不同的實例,如以下命令將會安裝并啟動三個不同的Redis實例作服務,如圖2所示。
6.Windows中Redis訪問密碼的設置與CentOS7中設置方法大致相同,只是配置文件為Redis目錄中的redis.windows.conf,打開它并寫入密碼后重啟動服務即可。

7.測試
啟動Redis服務的命令為redis-server--service-start,如果已經啟動可忽略。客戶端命令有兩種模式:

測試讀寫數據所示:
