Linux Redis安裝及使用

##轉載請標明出處 http://coderknock.com ####獲取Redis包[能夠在官網獲取最新的下載路徑]java

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

####解壓、編譯python

tar xzf redis-3.2.0.tar.gz
cd redis-3.2.0
make
make test
make install

make test時可能會報以下錯誤:git

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 支持,而後在進行編譯操做github

yum install tcl

####編譯的時間可能會比較長,你們耐心等待一下子redis

!!! 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-serverredis-benchmarkredis-cli 新建一個本身的文件夾,將上面的文件放入其中,而且將redis安裝包解壓目錄下的redis.conf也拷貝入新建文件夾shell

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作成一個服務 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

####若是這時添加註冊服務:code

chkconfig --add redis

將報如下錯誤:server

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

####修改的內容:

  1. 添加上面代碼中的第二行chkconfig: 2345 80 90內容
  2. 按狀況修改七、8行
EXEC=/etc/redis/redis-server
CLIEXEC=/etc/redis/redis-cli
  1. 第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");
相關文章
相關標籤/搜索