1. 程式人生 > >NoSql——redis(高階操作)

NoSql——redis(高階操作)

  上篇部落格講了一下redis的基本操作,主要是安裝以及一些常用命令,這篇部落格來說一下redis的高階操作

一、安全性:

 設定了操作許可權之後,必須先登入,沒有登入的會報沒有操作許可權的錯誤!

 在配置檔案中,新增requirepass

  服務端:redis-start -requirepass.bat
    redis-server.exe D:\test\redis\32bit\redis.conf
  客戶端:redis-client.bat
    redis-cli.exe -h 127.0.0.1 -p 6379
  再次啟動客戶端,報沒有許可權的錯誤
    redis 127.0.0.1:6379> keys *
    (error) ERR operation not permitted

  授權:auth+密碼進行授權,用redis-client.bat每次登陸都需要驗證

  redis 127.0.0.1:6379> auth leilei
	OK
  redis 127.0.0.1:6379> keys *
	(empty list or set)
  redis 127.0.0.1:6379> set username leilei
	OK
  redis 127.0.0.1:6379> get username
	"leilei"

 一次性授權,直接配置在bat檔案中,在客戶端添加了-a +密碼
  服務端:redis-start -requirepass.bat
     redis-server.exe D:\test\redis\32bit\redis.conf
  客戶端:redis-client.bat
 redis-cli.exe -h 127.0.0.1 -p 6379 -a leilei

、主從複製

  整體結構


<span style="font-size:18px;">redis-start-1.bat
    redis-server.exe								
redis-start-2.bat
    redis-server.exe redis-02.conf
redis-02.conf
    port 6380
    requirepass leilei
redis-client-1.bat
    redis-cli.exe -h 127.0.0.1 -p 6379
redis-client-2.bat
    redis-cli.exe -h 127.0.0.1 -p 6380 -a leilei</span>


  其中redis01是主機,使用預設的配置,redis02是從機,埠是6380

  操作

1、在redis-client-2.bat執行命令:
			redis 127.0.0.1:6380> slaveof 127.0.0.1 6379
			OK
2、在redis-client-1.bat新增資料
			redis 127.0.0.1:6379> set name leilei
			OK
			redis 127.0.0.1:6379> set sex man
			OK
			redis 127.0.0.1:6379> set age 24
			OK
3、在redis-client-2.bat查詢
			redis 127.0.0.1:6380> keys *
			1) "sex"
			2) "age"
            3) "name"

  另一種方式,直接在配置檔案中修改配置資訊就可以了
# Master-Slave replication. Use slaveof to make a Redis instance a copy of
# another Redis server. Note that the configuration is local to the slave
# so for example it is possible to configure the slave to save the DB with a
# different interval, or to listen to another port, and so on.
#
# slaveof <masterip> <masterport>


三、釋出訂閱

  整體結構


  操作

	1、啟動兩個訂閱的客戶端
			sbuscribe命令
	2、啟動一個釋出的客戶端
			publish命令


  效果


四、持久化

  redis的持久化有兩種方式,一種是預設的快照方式snapshotting,預設存的是資料,另一種是append-only file (aof),存的是操作,預設生成的aof檔案是隻讀的,需要去掉只讀屬性。這個只需要設定一下配置檔案中的appendonly yes即可!