http://www.infoq.com/cn/articles/tq-redis-memory-usage-optimization-storageredis
在Ubuntu下安裝reids緩存
redis-2.6.8.tar.gz
root@root01-virtual-machine:/opt# tar -zxvf redis-2.6.8.tar.gz服務器
root@root01-virtual-machine:/opt# ls
redis-2.6.8 redis-2.6.8.tar.gz
root@root01-virtual-machine:/opt# cd redis-2.6.8/
root@root01-virtual-machine:/opt/redis-2.6.8# ls
00-RELEASENOTES COPYING Makefile redis.conf src
BUGS deps MANIFESTO runtest tests
CONTRIBUTING INSTALL README sentinel.conf utils
root@root01-virtual-machine:/opt/redis-2.6.8# make 編譯
root@root01-virtual-machine:/opt/redis-2.6.8# sudo make install 安裝tcp
在安裝過程當中會看到生成文件ide
mkdir -p /usr/local/bin
INSTALL install
INSTALL install
此處學到了一個命令:/* mkdir -p mkdir的-p選項容許你一次性建立多層次的目錄工具
root@root01-virtual-machine:/opt# mkdir -p /opt/a/b/c性能
/* root@root01-virtual-machine:/opt# mkdir -p /opt/{a,b}/c 建立的a和b的目錄裏均含有c測試
root@root01-virtual-machine:/opt# lsspa
a b redis-2.6.8 redis-2.6.8.tar.gz命令行
root@root01-virtual-machine:/opt/a# ls
c
*/
經過上述mkdir -p生成的目錄,安裝文件會存在/usr/local/bin目錄下
root@root01-virtual-machine:/usr/local/bin# ls
redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server
啓動redis的命令以前須要配置redis.conf文件
1.daemonize no 是否之後臺進程方式運行 改爲yes
2.這兩個參數
loglevel warning
logfile/var/log/redis.log
3. c.取消註釋
syslog-enabled no #這個改爲syslog-enabledyes
syslog-facility local0
d.數據文件目錄
# Note that you mustspecify a directory here, not a file name.
dir ./usr/local/ 需設置成相應的目錄 例: dir /var/db/redis
e.內存,鏈接數設置
maxmemory
maxclients
在正式啓動redis以前,先建立數據目錄
# mkdir /var/db/redis
不然會出現下面的錯誤
root@root01-virtual-machine:/opt/redis-2.6.8# redis-server /etc/redis.conf
[29058] 12 Jan 10:20:42.413 # Can't chdir to './usr/local/': No such file or directory
把可執行文件放在
cp redis-benchmark redis-cli redis-server /usr/bin/ #這個卻是頗有用,這樣就不用再執行時加上./了,並且能夠在任何地方執行
拷貝文件
cp redis.conf /etc/ 這個文件時redis啓動的配置文件
執行完後可經過下邊命令查詢
root@root01-virtual-machine:/opt/redis-2.6.8/src# ps -ef|grep redis
root 3385 9325 0 11:11 pts/3 00:00:00 grep --color=auto redis
root 21615 15990 0 10:23 pts/4 00:00:00 vi redis.conf
服務端開啓後,須要另打開一個客戶端進行訪問
redis-server conf/redis.conf
注:此命令僅有一個啓動參數,指定<REDIS_FILE>目錄下的配置文件,不加參數執行默認配置。
root@root01-virtual-machine:/opt/redis-2.6.8/src# redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected> ping
返回pong
查看端口是否被佔用:
root@root01-virtual-machine:/opt/redis-2.6.8/src# netstat -ntlp |grep 6379
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 4621/redis-server
關閉客戶端即服務端也會關閉
root@root01-virtual-machine:/opt/redis-2.6.8/src# redis-cli shutdown
若是非默認端口,可指定端口:redis-cli -p 6380 shutdown
關閉redis服務
redis-cli shutdown
redis服務關閉後,緩存數據會自動dump到硬盤上,硬盤地址爲redis.conf中的配置項dbfilename dump.rdb所設定
強制備份數據到磁盤,使用以下命令
redis-cli save 或者 redis-cli -p 6380 save(指定端口)
設置開機自動啓動,關機自動關閉
root@root01-virtual-machine:/etc/init.d# update-rc.d redis-server defaults
update-rc.d: warning: /etc/init.d/redis-server missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
Adding system startup for /etc/init.d/redis-server ...
/etc/rc0.d/K20redis-server -> ../init.d/redis-server
/etc/rc1.d/K20redis-server -> ../init.d/redis-server
/etc/rc6.d/K20redis-server -> ../init.d/redis-server
/etc/rc2.d/S20redis-server -> ../init.d/redis-server
/etc/rc3.d/S20redis-server -> ../init.d/redis-server
/etc/rc4.d/S20redis-server -> ../init.d/redis-server
/etc/rc5.d/S20redis-server -> ../init.d/redis-server
啓動Redis:
/etc/init.d/redis-server start
待完善
3. 初始化用戶和日誌路徑
第一次啓動Redis前,建議爲Redis單獨創建一個用戶,並新建data和日誌文件夾 sudo useradd redissudo mkdir -p /var/lib/redissudo mkdir -p /var/log/redissudo chown redis.redis /var/lib/redissudo chown redis.redis /var/log/redis