前言
Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。
redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sortedset --有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,爲了保證效率,數據都是緩存在內存中。區別的是redis會週期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步。
Redis 是一個高性能的key-value數據庫。 redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部 分場合可以對關係數據庫起到很好的補充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便。
Redis支持主從同步。數據可以從主服務器向任意數量的從服務器上同步,從服務器可以是關聯其他從服務器的主服務器。這使得Redis可執行單層樹複製。存盤可以有意無意的對數據進行寫操作。由於完全實現了發佈/訂閱機制,使得從數據庫在任何地方同步樹時,可訂閱一個頻道並接收主服務器完整的消息發佈記錄。同步對讀取操作的可擴展性和數據冗餘很有幫助。
一.系統環境
linux環境: CentOS release6.5 x86_64
軟件: redis-3.0.0.tar.gz , gcc-c++
搭建的環境爲: 1 主, 2 從, 主負責寫, 從是隻讀
主:192.168.0.86
從1:192.168.0.232
從2:192.168.0.87
二.配置步驟
1.安裝redis源碼包
從官網下載,操作編譯安裝
該環境安裝到/adson/redis/目錄下,實際操作中,可根據實際需求定義;
安裝編譯工具gcc-c++
在主redis 192.168.0.86上操作
# yum -y install gcc-c++
# tar zxvf redis-3.0.0.tar.gz
# cd redis-3.0.0
# make
# make install PREFIX=/adson/redis
2.配置redis.conf文件
將/adson/redis-3.0.0/redis.conf 拷貝到 /adson/redis/bin/目錄下
vim redis.conf
將註釋打開,開啓後臺啓動;
默認端口號:6379,可以更改
配置日誌文件及級別
在/adson/redis/中創建logs目錄,同時在目錄中創建,redis.log 文件
爲安全考慮配置連接redis密碼
至此,redis主節點配置完成;
三.Redis啓動測試
#/adson/redis/bin/redis-server /adson/redis/bin/redis.conf
# ps -ef|grep redis
root 4747 1 0 11:21 ? 00:00:00 /adson/redis/bin/redis-server*:6379
# /adson/redis/bin/redis-cli -a hGI891c
127.0.0.1:6379>set english_name adson1
OK
127.0.0.1:6379>
四.配置從節點
安裝和上述步驟一樣
需要注意點如下;
4.1指定主機和端口號
redis.conf 中需要指定 主redis的ip地址和端口號
這裏是 192.168.0.86 ,端口號是 6379;
4.2查看從的redis狀態
確認下從redis 的 ready-only 模式
4.3密碼設置
如果主redis配置了密碼,從redis 需要開啓下列參數
需要更改爲
2個從節點,都相同配置,如果沒有設置登錄密碼,關於密碼設置這些可以省略;
從節點啓動
驗證;
登陸從1節點:
# /adson/redis/bin/redis-cli -a hGI891c
127.0.0.1:6379> get english_name
"adson1"
127.0.0.1:6379>
登陸從2節點:
# /adson/redis/bin/redis-cli -a hGI891c
127.0.0.1:6379> get english_name
"adson1"