天天看點

Redis安裝以及主從實作

Redis簡介

redis是一個key-value存儲系統。和Memcached類似,它支援存儲的value類型相對更多,包括string(字元串)、 list(連結清單)、set(集合)和zset(有序集合)。這些資料類型都支援push/pop、add/remove及取交集并集和差集及更豐富的操 作,而且這些操作都是原子性的。在此基礎上,redis支援各種不同方式的排序。與memcached一樣,為了保證效率,資料都是緩存在記憶體中。差別的 是redis會周期性的把更新的資料寫入磁盤或者把修改操作寫入追加的記錄檔案,并且在此基礎上實作了master-slave(主從)同步。

Redis 是一個高性能的key-value資料庫。 redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部 分場合可以對關系資料庫起到很好的補充作用。它提供了Python,Ruby,Erlang,PHP用戶端,使用很友善。除了使用友善,安裝以及主從實作都特别easy,是以,讓我們來嘗試一下吧^_^

1. 下載下傳軟體包

[root@localhost ~]# wget http://download.redis.io/releases/redis-2.8.7.tar.gz       

2. Redis安裝

主從都需要安裝

[root@localhost ~]# tar xf redis-2.8.7.tar.gz -C /usr/local/
[root@localhost ~]# cd /usr/local/
[root@localhost local]# ln -s redis-2.8.7/ redis
[root@localhost local]# cd redis
[root@localhost redis]# make      

備注:這邊就不make install 了,直接使用make好的檔案

3. redis配置(主)

vim /usr/local/redis/redis.conf
mkdir /data/redis_7788      

修改如下内容:

daemonize no 改為 yes # 是否背景運作
port 6379 改為 7788   # 端口
dir ./ 改為 /data/redis_7788/   # 資料目錄      

這裡隻修改了簡單幾個參數,其他的可以參考redis相關文檔,說的很詳細。

4. redis啟動與關閉

啟動

[root@localhost ~]# /usr/local/redis/src/redis-server /usr/local/redis/redis.conf 
[root@localhost ~]# netstat -nltp | grep 7788
tcp        0      0 0.0.0.0:7788                0.0.0.0:*                   LISTEN      4073/redis-server * 
[root@localhost ~]#       

關閉

[root@localhost ~]# /usr/local/redis/src/redis-cli -p 7788 shutdown
[root@localhost ~]# netstat -nltp | grep 7788                      
[root@localhost ~]#       

5. redis指令測試

[root@localhost ~]# /usr/local/redis/src/redis-cli -p 7788
127.0.0.1:7788> set name yayun
OK
127.0.0.1:7788> set age 23
OK
127.0.0.1:7788> get name
"yayun"
127.0.0.1:7788> get age
"23"
127.0.0.1:7788>       

6. Redis主從配置

6.1 隻需要修改slave的配置

vim /usr/local/redis/redis.conf      
修改如下内容:
slaveof 192.168.1.10 7788 # slaveof master的ip master的端口      
[root@localhost redis]# grep --colour=auto '^slaveof' redis.conf 
slaveof 192.168.1.10 7788
[root@localhost redis]#       

6.2 主從測試

在master上set

127.0.0.1:7788> set boy goodyayun
OK
127.0.0.1:7788>       

在slave上get

127.0.0.1:6379> get boy
"goodyayun"
127.0.0.1:6379>       

可以看見成功擷取value。

7. 附加:redis比較完整的配置檔案

daemonize yes
pidfile /var/run/redis.pid
port 12002
timeout 0
tcp-keepalive 0
loglevel notice
logfile stdout
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /www/redis_12002/
slave-serve-stale-data yes
slave-read-only yes
repl-disable-tcp-nodelay no
slave-priority 100
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10      

如上為單機版本redis的配置檔案,如果需要改為主從,隻需要增加

slaveof 192.168.1.10(redis master IP) 7788(redis master 端口)

作者:Atlas

出處:Atlas的部落格 http://www.cnblogs.com/gomysql

您的支援是對部落客最大的鼓勵,感謝您的認真閱讀。本文版權歸作者所有,歡迎轉載,但請保留該聲明。如果您需要技術支援,本人亦提供有償服務。

繼續閱讀