1. 程式人生 > 實用技巧 >Redis系列之簡介和Linux部署教程

Redis系列之簡介和Linux部署教程

##Redis介紹##
Redis如今已經成為Web開發社群最火熱的記憶體資料庫之一,隨著Web2.0的快速發展,再加上半結構資料比重加大,網站對高效效能的需求也越來越多。
而且大型網站一般都有幾百臺或者更多Redis伺服器。Redis作為一款功能強大的系統,無論是儲存、佇列還是快取系統,都有其用武之地。

##Redis Github開源##

Redis:

一款基於C語言開發的高效能NOSQL系統

我已經將Redis原始碼fork到我的github倉庫了,可以去我的github上看看https://github.com/JLGPL/redis

##Linux下安裝Redis##

###下載解壓Redis###

本部落格介紹Redis-2.6.14版本的安裝

按照Linux系統安裝常規,我們一般先下載原始碼到/usr/local/src目錄下面

進入目錄:

cd /usr/local/src

注意googlecode需要翻牆才可以下載的,我們使用wget命令下載原始碼

wget http://redis.googlecode.com/files/redis-2.6.14.tar.gz

不可以翻牆的話,可以使用下面命令下載

wget http://download.redis.io/releases/redis-2.8.3.tar.gz

解壓Redis原始碼

tar xzf redis-2.6.14.tar.gz

###安裝gcc###

因為Redis系統是基於C語言開發的,所以我們需要安裝好Linux的GCC環境,

也就是編譯C語言、C++或者Java的環境

因為有些系統是有預裝好yum的,所以這種情況下就可以使用如下命令

yum install gcc

想要自己安裝gcc的,可以參考我的教程:

http://blog.csdn.net/u014427391/article/details/71194527

###安裝Redis###

建立Redis連結

ln -s redis-2.6.14 redis

進入Redis資料夾目錄

cd redis

安裝Redis到/usr/local/redis

make PREFIX=/usr/local/redis install

這時,你去看一下/usr/local/redis裡面已經生成裡build目錄,

下面有如下指令碼redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server

##新增Redis服務##

複製指令碼

普及一下Linux知識,/etc/rc.d/init.d下面的指令碼相當於window系統的登入檔,也就是說在Linux系統啟動的時候,這些指令碼都會被自動執行,我們這是就需要將redis的初始化指令碼(/usr/local/src/redis/utils/redis_init_script)發到該目錄下面,目的就是系統啟動的時候,實現redis初始化操作。

複製指令碼程式碼如下,使用cp命令

cp /usr/local/src/redis/utils/redis_init_script /etc/rc.d/init.d/redis

###VI編輯Redis配置###

大多數情況下,我們都需要修改Redis預設配置的,中文註釋的地方就是需要修改的

#!/bin/sh

#新增改配置

#chkconfig: 2345 80 90

# Simple Redis init.d script conceived to work on Linux systems

# as it does use of the /proc filesystem.

REDISPORT=6379

#修改Redis-server路徑

EXEC=/usr/local/redis/bin/redis-server

#修改Redis-cli路徑

CLIEXEC=/usr/local/redis/bin/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid

CONF="/etc/redis/${REDISPORT}.conf"

case "$1" in

start)

if [ -f $PIDFILE ]

then

echo "$PIDFILE exists, process is already running or crashed"

else

echo "Starting Redis server..."

$EXEC $CONF & #加入&符號,使Redis服務後臺執行

fi

;;

stop)

if [ ! -f $PIDFILE ]

then

echo "$PIDFILE does not exist, process is not running"

else

PID=$(cat $PIDFILE)

echo "Stopping ..."

$CLIEXEC -p $REDISPORT shutdown

while [ -x /proc/${PID} ]

do

echo "Waiting for Redis to shutdown ..."

sleep 1

done

echo "Redis stopped"

fi

;;

*)

echo "Please use start or stop as first argument"

;;

解釋:

因為我們已經將Redis安裝到/usr/local/redis目錄下面了,使用需要修改redis配置,使其可以找到Redis-server和Redis-cli服務

新增&符號的作用是使Redis服務後臺執行,否則,啟動Redis服務時,佔據在前臺,佔用了主使用者介面,造成其它的命令執行不了

###註冊啟動Redis服務###

註冊Redis服務

chkconfig --add redis

啟動Redis服務

service redis start

###設定Redis全域性使用###

這時需要修改系統配置

同樣使用VI編輯器進行修改

vi /etc/profile

在配置檔案後面加入

export PATH="$PATH:/usr/local/redis/bin"

wq儲存退出,當然其實WinSCP工具是可以實現像window系統類似的檔案編輯的,所以vi命令不熟,可以使用WinSCP視覺化操作

應用配置

. /etc/profile

###使用Redis服務###

然後我們可以在Redis原始碼路徑下面,檢測redis程式是否啟動了

ps -ef | grep redis

可以看到如下類似的,說明redis安裝成功

[email protected] redis-1.2.6]# ps -ef | grep redis

root 401 29222 0 18:06 pts/3 00:00:00 grep redis

root 29258 1 0 16:23 ? 00:00:00 redis-server /etc/redis.conf

$ redis-cli

redis 127.0.0.1:6379> auth superman

OK

redis 127.0.0.1:6379> ping

PONG

redis 127.0.0.1:6379>