本實驗的目的是搭建redis服務器,測試,並配置主從服務
一、前期準備工作
1、準備兩臺服務器,我這裏是192.168.4.123和192.168.4.124兩臺服務器;
2、安裝依賴包:gcc,yum -y install gcc,版本redis-4.0.6
3、make && make install 編譯和編譯安裝,軟件版本是
cd redis-4.0.6/
make MALLOC=libc //解決zmalloc.h:50:31: 致命錯誤
make install PREFIX=/usr/local/redis //指定安裝路徑
將配置文件移動到redis目錄: mv redis.conf /usr/local/redis/etc/
4、啓動服務:/usr/local/redis/bin/redis-server
二、配置文件修改和測試
1、如何讓redis在後臺運行,修改配置文件
vim /usr/local/redis/etc/redis.conf
把136:daemonize no 把no改成yes
2、讓redis開機自啓,
A、cp /usr/local/redis/etc/redis.conf /etc/redis/6379.conf //拷貝配置文件
B、cp /root/redis-4.0.6/utils/redis_init_script /etc/init.d/redis //拷貝啓動腳本
C、vim /etc/init.d/redis 編輯啓動腳本,添加如下兩行
# chkconfig: 2345 10 90
# description: Start and Stop redis
D、修改啓動腳本,填寫真實的安裝路徑
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
E、設爲開機啓動:chkconfig redis on
3、啓動、停止redis服務:
service redis start
service redis stop
4、客戶端連接:/usr/local/redis/bin/redis-cli
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
5、/var/lib/redis/6379/ //硬盤上放置數據庫文件的目錄
三、redis數據庫的基本的數據類型
1、字符類型:key=value
127.0.0.1:6379> set name haha
OK
127.0.0.1:6379> get name
"haha"
2、Hash(哈希) hset(單次寫入),hmset(多次寫入)
127.0.0.1:6379> hmset myhash file1 "hello" file2 "world"
OK
127.0.0.1:6379> hget myhash file1
"hello"
3、List(列表):先進後出的數據
127.0.0.1:6379> lpush list redis
(integer) 1
127.0.0.1:6379> lpush list mongodb
(integer) 2
127.0.0.1:6379> lpush list memcached
(integer) 3
127.0.0.1:6379> lrange list 0 1 //取出第1-2個變量的值
1) "memcached"
2) "mongodb"
4、ttl list //查看變量的生存時間,默認不限時間
expire list 20 //設置變量生存時間
四、設置redis主從數據庫
1、4.123做數主據庫:編輯配置文件 vim /etc/redis/6379.conf
requirepass 123456 //設置密碼爲123456
2、重啓服務,可以連接進去,但是操作不了,正確的連接方式:
redis-cli -a 123456
3、因爲添加了密碼,直接停掉服務不行,可以在啓動腳本
vim /etc/init.d/redis_6379
$CLIEXEC -a 123456 -p $REDISPORT shutdown
4、在4.124上設置配置文件:/etc/redis/6379.conf
slaveof 192.168.2.100 6379 //添加主服務器的ip地址和端口
masterauth 123456 //添加主服務器的密碼
5、 info replication //查看主從信息
如果主從不能同步,請修改主服務器的配置文件,把
bind 127.0.0.1 註釋掉或者修改爲 bind 0.0.0.0
6、驗證:在4.124上登陸進去後 keys * //查看是否有變量在裏面