Redis是一個內存存儲數據結構的服務器,通常使用redis作為緩存服務器,redis不僅支持簡單的keyValue字符串結構,還支持Map、List、Set數據結構,並具有很高的讀取性能。通常在分布式環境下,也會使用redis存儲session,從而達到共享session的目的。redis的數據是存儲在內存中的,數據量增長時,內存負擔也會增加,通常生產環境中需要設立獨立的服務器去支持,避免redis影響web應用服務性能。
#下載Redis,解壓,編譯安裝
1 wget http://download.redis.io/releases/redis-3.0.7.tar.gz 2 tar -xvzf redis-3.0.7.tar.gz 3 cd redis-3.0.7 4 make 5 make install
#創建運行命令路徑,和配置文件
mkdir /usr/local/redis cp -rf ./src/redis-cli ./src/redis-server ./redis.conf /usr/local/redis/ cd /usr/local/redis/
#編輯redis.conf配置文件
daemonize yes pidfile /var/run/redis.pid port 6379
#設置開機自啟動命令
#新建編輯 /etc/init.d/redis
REDISPORT=6379 EXEC=/usr/local/redis/redis-server CLIEXEC=/usr/local/redis/redis-cli PIDFILE=/var/run/redis.pid CONF="/usr/local/redis/redis.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
# 加入到系統服務
chmod +x /etc/init.d/redis chkconfig --add redis chkconfig redis on
#啟動服務
service redis start
# redis 查詢命令
/usr/local/redis/redis-cli flushall /usr/local/redis/redis-cli -n 0 keys '*' /usr/local/redis/redis-cli -n 0 dbsize /usr/local/redis/redis-cli -n 0 flushdb /usr/local/redis/redis-cli -n 0 keys '*' | wc -l
#windows擴展下載
解壓redis擴展包,並將php_redis.dll復制到php安裝目錄extends下
並配置php.ini追加
[redis]
extension = php_redis.dll;
重啟Apache服務器,使用echo phpinfo();

成功安裝擴展。
#PHP中使用Redis存儲讀取數據
1 $cache = new Redis; 2 $cache->connect('192.168.56.102', 6379); 3 $cache->set("test", "hello redis"); 4 var_dump($cache->get("test"));
#如果連接不上
注意,redis.conf 綁定的IP地址。