天天看點

redis記憶體資料丢失問題

Note:建議在開發環境中在使用windows下的Redis,如果在正式生産環境中建議使用Linux下的Redis

1.在啟動Redis服務之前,先了解一下Redis相關可執行檔案的主要作用

(1)redis-server  -------Redis伺服器

(2)redis-cli         -------Redis指令行用戶端

(3)redis-benchmark ---------Redis性能測試工具

(4)redis-check-aof ----------AOF檔案修複工具

(5)redis-check-dump --------RDB檔案檢查工具

2.啟動Redis服務  (主要有兩種方式)

直接啟動和 通過初始化腳本 (開機啟動) 啟動,兩種當時分别适用于開發環境和生産環境

(1)直接啟動(windows環境)

打開指令行用戶端,進入redis的所在檔案夾,

執行指令:redis-server.exe redis.conf

(2)linux直接啟動

執行指令:redis-server  -port 6379  (注:端口可以不指定,預設開啟6379端口)

3.關閉redis服務

考慮到redis正在将記憶體中的資料拷貝到硬碟,是以強行終止程序可能導緻資料丢失,是以争取的方式之一是通過用戶端發送 shutdown指令,伺服器在收到shutdown指令後,先斷開所有用戶端的連接配接,再根據配置持久化資料,再關閉Redis服務

redis可以妥善處理sigterm信号,多以Kill Redis的程序也可以關閉redis,效果金額發送 shutdown指令有同樣的效果

4.redis用戶端的簡單使用

(1)連接配接redis伺服器

redis-cli  -h 127.0.0.1 -p 3697

(2) 可以輸入ping指令,測試是否正确連接配接redis伺服器

如果傳回 pong,說明用戶端可以正确連接配接redis伺服器

5.狀态回複

狀态回複是用戶端向伺服器發送指令,伺服器收到并處理後,傳回給用戶端的一些訊息

(1)狀态回複

如,向伺服器 發送 ping

伺服器收到資訊後 給用戶端回複pong,

如 向伺服器,發送set  name  張樂超,

伺服器會向用戶端發送ok,表示 以name為key,張樂超為值的鍵值對 資料 已經成功存入 redis

(2)錯誤回複

如果向redis伺服器發送錯誤資訊,錯誤指令,

redis 會向 用戶端回複(error)err unknown commond "指令",表示redis不認識此指令

(3)整數回複

redis 沒有整數類型,但是提供了一些傳回整數的指令,整數回複以(integer)開頭,如:

INCR  會以整數的形式 傳回遞增後的數值,INCR foo,如果redis中存在foo的value,将會對foo的值進行自增并傳回,沒有foo的值,将會添加以foo為key,vaue為0的資料。

DBSIZE 指令 傳回所有鍵值對的 數量,

(4)字元串回複

字元串回複是最常用的回複方式,例如:get name,傳回“張樂超”,如果不存在,則傳回kong  nil

(5)多行字元串回複

如指令,keys *,

keys (pattern)

? 代表任意一個字元

* 代表任意多個字元

\x 比對字元x,\ 用于轉義

繼續閱讀