轉載請標明出處 http://coderknock.com
獲取Redis包[可以在官網獲取最新的下載路徑]
wget http://download.redis.io/releases/redis-3.2.0.tar.gz
解壓、編譯
tar xzf redis-3.2.0.tar.gz
cd redis-3.2.0
make
make test
make install
make test時可能會報如下錯誤:
cd src && make test
make[1]: Entering directory `/root/redis-3.2.0/src'
You need tcl 8.5 or newer in order to run the Redis test
make[1]: *** [test] Error 1
make[1]: Leaving directory `/root/redis-3.2.0/src'
make: *** [test] Error 2
我們安裝一下 tcl 支持,然後在進行編譯操作
yum install tcl
編譯的時間可能會比較長,大家耐心等待一會兒
!!! WARNING The following tests failed:
*** [err]: Server is able to generate a stack trace on selected systems in tests/integration/logging.tcl
expected stack trace not found into log file
Cleanup: may take some time... OK
make[1]: *** [test] Error 1
make[1]: Leaving directory `/root/redis-3.2.0/src'
make: *** [test] Error 2
上面的警告只是某個測試沒有通過,可以忽略。
編譯完成後會在src文件夾中生成redis-server
,redis-benchmark
,redis-cli
新建一個自己的文件夾,將上面的文件放入其中,並且將redis安裝包解壓目錄下的redis.conf也拷貝入新建文件夾
mkdir /etc/redis
cp redis-server /etc/redis
cp redis-benchmark /etc/redis
cp redis-cli /etc/redis
cd ..
cp redis.conf /etc/redis
cd /etc/redis
轉到目錄,執行
redis-server redis.conf
如果出現
則安裝成功,但是這樣子每次運行後不能關閉命令窗口,不然進程就會斷掉。
將redis做成一個服務
redis-3.2.0/utils/redis_init_script是redis初始化腳本
將其複製到etc服務中
cp redis-3.2.0/utils/redis_init_script /etc/rc.d/init.d/redis
如果這時添加註冊服務:
chkconfig --add redis
將報以下錯誤:
service redis does not support chkconfig
我們需要修改一下啓動的腳本:
#!/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
EXEC=/etc/redis/redis-server
CLIEXEC=/etc/redis/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 &
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"
;;
esac
修改的內容:
- 添加上面代碼中的第二行
chkconfig: 2345 80 90
內容 - 按情況修改7、8行
EXEC=/etc/redis/redis-server
CLIEXEC=/etc/redis/redis-cli
- 第20行添加&表示服務在後臺運行[這樣關閉命令行之後也會繼續運行]
我們看到第11行指定的配置文件是CONF="/etc/redis/${REDISPORT}.conf"
以端口爲名的conf[這樣改變端口時不同端口可以使用不同conf]
所以
cp /etc/redis/redis.conf /etc/redis/6379.conf
執行註冊chkconfig --add redis
便不會報錯了
啓動服務service redis start
Python
安裝Python相關包
pip install redis
然後就可以使用了
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
r.set('foo', 'bar')
True
r.get('foo')
Java
下載jedis的包 Github地址 https://github.com/xetorthio/jedis
import redis.clients.jedis.*
使用方法如下:
Jedis jedis = new Jedis("localhost");
jedis.set("foo", "bar");
String value = jedis.get("foo");