一、下載下傳redis
下載下傳位址:
http://code.google.com/p/redis/downloads/list
2013年12月7号,我下載下傳的是最新版本:redis-2.6.14.tar.gz
另附上csdn上該版本的資源:
http://download.csdn.net/detail/wantianwen/6677973
使用root安裝
[plain]
view plain
copy
su
将該下載下傳包拷貝到/opt
cp redis-2.6.14.tar.gz /opt
二、安裝
cd /opt
tar zxvf redis-2.6.14.tar.gz
cd redis-2.6.14
make && make install
安裝好後檢視下redis的可執行檔案已經在此目錄下:
ls /usr/local/bin/redis*
/usr/local/bin/redis-benchmark
/usr/local/bin/redis-cli
/usr/local/bin/redis-check-aof
/usr/local/bin/redis-server
/usr/local/bin/redis-check-dump
三、配置redis
redis的配置檔案啟動時需要用到:
cp redis.conf /etc/
然後編輯redis.conf配置檔案(/etc/redis.conf),按需求做出适當調整,比如:
vi /etc/redis.conf
daemonize yes #預設為on。yes為轉為守護程序,否則啟動時會每隔5秒輸出一行監控資訊
save 900 1 #900秒内如果有一個key發生變化時,則将資料寫入進鏡像
maxmemory 256000000 #配置設定256M記憶體
将6379端口在防火牆中開放:
rhel系列
vi /etc/sysconfig/iptables#加入一行,需要具備其修改權限
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
/etc/init.d/iptables restart
檢視防火牆狀态:
/etc/init.d/iptables status
debian系列
ufw allow 6379
檢視防火牆狀态
ufw status
6379 ALLOW Anywhere
建立redis的日志檔案夾:
mkdir -p /var/log/redis/log
啟動redis并指定redis的日志檔案:
/usr/local/bin/redis-server /etc/redis.conf 1>/var/log/redis/infolog.log 2>/var/log/redis/errlog.log &
加入自啟動:
vi /etc/rc.local#加入
四、伺服器優化(根據實際情況判定是否需要優化)
如果記憶體情況比較緊張的話,需要設定核心參數:
echo 1 > /proc/sys/vm/overcommit_memory
這裡說一下這個配置的含義:
/proc/sys/vm/overcommit_memory
該檔案指定了核心針對記憶體配置設定的政策,其值可以是0、1、2。
0, 表示核心将檢查是否有足夠的可用記憶體供應用程序使用;如果有足夠的可用記憶體,記憶體申請允許;否則,記憶體申請失敗,并把錯誤傳回給應用程序。
1, 表示核心允許配置設定所有的實體記憶體,而不管目前的記憶體狀态如何。
2, 表示核心允許配置設定超過所有實體記憶體和交換空間總和的記憶體
五、測試redis
用戶端連接配接
redis-cli
redis 127.0.0.1:6379> set redisKey value
OK
redis 127.0.0.1:6379> get redisKey
"value"
redis 127.0.0.1:6379> del redisKey
(integer) 1
redis 127.0.0.1:6379> exists key
(integer) 0
keys *
取出目前比對的所有key
> exists larry
(integer) 0
目前的key是否存在
del lv
删除目前key
expire
設定過期時間
> expire larry 10
(integer) 1
> move larry ad4
移動larry鍵值對到ad4資料庫
> persist lv
移除目前key的過期時間
randomkey
随機傳回一個key
rename
重命名key
type
傳回值的資料類型
type testlist
list
> ping
PONG
測試連接配接是否還在
>echo name
"larry"
列印
> select ad4databank
OK
資料庫切換
> quit
退出連接配接
> dbsize
(integer) 12
目前資料庫中key的數量
> info
伺服器基本資訊
monitor
實時轉儲收到的請求
config get
擷取伺服器的參數配置
flushdb
清空目前資料庫
flushall
清除所有數
六、遇到問題
我用java操作redis時,報過這樣的錯誤:
(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
解決:
config set stop-writes-on-bgsave-error no