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>