redis 其餘操做

一、設定服務端密碼
1.一、編輯 redis的配置文件
[root@centos7 ~]# vim /usr/local/redis/etc/redis.conf 
    requirepass 123 # 大約500行左右,取消註釋,寫上本身想設定的密碼
1.二、重啓redis
[root@centos7 ~]# pkill redis ; /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf 
3140:C 19 Jan 2020 17:14:36.274 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
3140:C 19 Jan 2020 17:14:36.274 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=3140, just started
3140:C 19 Jan 2020 17:14:36.274 # Configuration loaded
1.三、鏈接

輸入密碼有兩種方式redis

#一、交互模式直接輸入,使用 -a 參數,會提示不安全
[root@centos7 ~]# /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379 -a 123
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.

#二、鏈接後使用 auth 命令
[root@centos7 ~]# /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> auth 123
OK
二、redis主從
2.一、redis主從複製過程
  • Slave 與 master 創建鏈接,發送 sync 同步命令
  • Master 會啓動一個後臺進程,將數據庫快照保存到文件中,同時 master 主進程會開始收集新的寫命令並緩存。
  • 後臺完成保存後,就將此文件發送給 slave
  • Slave 將此文件保存到硬盤上
2.二、複製配置文件,生成多個實列。
6380.conf(主)
6381.conf(從1)
6382.conf(從2)

[root@centos7 ~]# cd /usr/local/redis/etc/
[root@centos7 etc]# cp -a redis.conf  6380.conf
[root@centos7 etc]# cp -a redis.conf  6381.conf
[root@centos7 etc]# cp -a redis.conf  6382.conf

# 須要將對應的pid 文件修改下,和端口。
port 6380
pidfile /var/run/redis_6380.pid

port 6381
pidfile /var/run/redis_6381.pid

port 6382
pidfile /var/run/redis_6382.pid
2.三、修改配置文件
老版本:  
從:
    slaveof <masterip> <msterport>  #主服務器的 IP 和端口   
    masterauth <masterpass>   #主服務器的密碼(主服務器要設置好密碼) 

新版本 redis 5.* 以上:  
主:   
    找到 bind 127.0.0.1 註釋掉,或者修改成本機的 IP 地址(重啓)
    #這裏由於是在一臺機器上,運行多個實例,因此 ip 爲 127.0.0.1 不須要改。   
從:   
    replicaof  <masterip> <msterport> #主服務器的 IP 和端口   
    masterauth <masterpass>   #主服務器的密碼(主服務器要設置好密碼)
    # 將 6381.conf , 6382.conf 修改配置
    replicaof  127.0.0.1 6380
    masterauth 123
2.四、啓動三個實例
[root@centos7 etc]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/6380.conf 

[root@centos7 etc]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/6381.conf 

[root@centos7 etc]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/6382.conf
2.五、經過命令查看是否成功
[root@centos7 ~]# /usr/local/redis/bin/redis-cli -p 6380 -a 123  info Replication
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Replication
role:master
connected_slaves:2
三、數據持久化

Redis 是一個支持持久化的內存數據庫,也就是說須要常常將內存中的數據同步到硬盤來保證持久化。數據庫

snapshotting(快照)--默認方式

RDB 持久化方式可以在指定的時間間隔能對你的數據進行快照存儲。是默認的持久化方式。這種方式是將內存中數據以快照的方式寫入到二進制文件中,默認的文件名dump.rdb。這種持久化方式被稱爲快照。vim

# 過了 900 秒而且有 1 個 key 發生了改變 就會觸發 save 動做 
# 過了 300 秒而且有 10 個 key 發生了改變 就會觸發 save 動做 
# 過了 60 秒而且至少有 10000 個 key 發生了改變 也會觸發 save 動做

redis.conf 文件中 dir ./定義了數據庫文件的存放位置,默認是當前目錄。因此每次重啓 redis 服務所在的位置不一樣,將會生成新的 dump.rdb 文件;建議服務器搭建完成時先修改快照文件保存位置centos

append-only file

使用 AOF 會讓你的 Redis 更加耐久: 你可使用不一樣的持久化策略:每次寫的時候備份、每秒備份、無備份。使用默認的每秒備份策略,Redis 的性能依然很好(備份是由後臺線程進行處理的,主線程會盡力處理客戶端請求),一旦出現故障,你最多丟失 1 秒的數據。
打開 redis.conf 配置文件開啓 AOF 持久化 appendonly no 默認不使用 AOF 持久化(450 行)將 no 改爲 yes。緩存

# appendfsync always  有寫操做,就立刻寫入磁盤。效率最慢,可是最安全 
# appendfsync everysec   默認,每秒鐘寫入磁盤一次。 
# appendfsync no    不進行 AOF 備份,將數據交給操做系統處理。最快,最不安全

重啓 redis 服務,登陸 client 添加一個鍵值,退出而後 ls 命令查看下是否生成 appendonly.aof。安全

相關文章
相關標籤/搜索