簡介
Redis是一個使用ANSI C語言編寫的開源key-value內存 數據庫 系統(tǒng),Redis支持字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等數據結構類型,并提供多種語言的API。
配置編譯流程
1.獲取源代碼
本文檔所測試版本為:Redis-4.0.9
軟件獲取路徑為:http://download.redis.io/releases/
Redis官網:https://redis.io/
2.編譯源代碼
本文以Redis-4.0.9為例,下載redis-4.0.9源碼,并編譯安裝。
1)執(zhí)行如下命令,獲取Redis源碼。
wget http://download.redis.io/releases/redis-4.0.9.tar.gz
2)執(zhí)行如下命令,解壓包。
tar -zxvf redis-4.0.9.tar.gz
3)執(zhí)行如下命令,進入deps目錄。
cd redis-4.0.9/deps
4)執(zhí)行如下命令,編譯Redis依賴庫。
make -j4 hiredis lua jemalloc linenoise
5)依次執(zhí)行如下命令,編譯Redis。
cd ..
make -j4
make install
3.配置編譯好的軟件
1)執(zhí)行如下命令,建立redis配置文件。
cp redis.conf /usr/local/etc/
2)執(zhí)行如下命令,配置redis為后臺啟動。
vim /usr/local/etc/redis.conf
將daemonize no 改成daemonize yes。
3)設置Redis開機啟動。
a.執(zhí)行如下命令,將Redis啟動腳本放置/etc/init.d/目錄下,并命名為redis。
cp redis-4.0.9/utils/redis_init_script /etc/init.d/redis
b.執(zhí)行如下命令,修改腳本內容。
vim /etc/init.d/redis
修改內容如下圖:
c.設置服務開啟啟動。
chkconfig redis on
4.測試已完成編譯的軟件
1)執(zhí)行如下命令,查看Redis版本。
redis-server -v
系統(tǒng)會顯示如下類似信息,表示Redis的版本是4.0.9。
[root@ecs-1-0002 redis-4.0.9]# redis-server -v
Redis server v=4.0.9 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=1e80e86f2ae3f0d8
2)執(zhí)行如下命令,查看Redis的CLI版本。
redis-cli -v
系統(tǒng)會顯示如下類似信息,表示Redis的CLI版本是4.0.9。
redis-cli 4.0.9
3)執(zhí)行如下命令,啟動redis-server。
service redis start
系統(tǒng)會顯示如下類似信息,表示Redis啟動完成。
Starting Redis server...
20525:C 19 Jun 20:43:25.941 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
20525:C 19 Jun 20:43:25.941 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=20525, just started
20525:C 19 Jun 20:43:25.941 # Configuration loaded
4)執(zhí)行如下命令,使用redis-cli連接server,并執(zhí)行k-v請求。
[root@ecs-1-0002 redis-4.0.9]# redis-cli
127.0.0.1:6379> set huawei arm
OK
127.0.0.1:6379> get huawei
"arm"
127.0.0.1:6379> del huawei
(integer) 1
127.0.0.1:6379> get huawei
(nil)
已知問題匯總
問題現象
編譯Redis時出現如下報錯:
問題根因
出現此錯誤是因為缺少hiredis,lua,jemalloc,linenoise庫。
問題解決
1) 執(zhí)行如下命令,進入Redis目錄。
cd redis-4.0.9/deps
2) 執(zhí)行如下命令,編譯Redis依賴庫。
make -j4 hiredis lua jemalloc linenoise