Redis 是一個高性能的key-value數據庫, 使用內存作爲主存儲,數據訪問速度非常快,當然它也提供了兩種機制支持數據持久化存儲.比較遺憾的是,Redis項目不直接支持Windows,Windows版項目是由微軟開放技術團隊建立和維護一個實驗性項目(支持32,64位),所以並不適用生產環境,但可在Windows環境下用於開發測試。
1.下載安裝
猛戳這裏就到了開源首頁,下載源碼包,解壓ZIP包後進入msvs\bin\release文件夾有三個文件分別對應32,64位,windows服務三個版本,在這裏我們選擇64位爲例,解壓redisbin64.zip 到D:\redis2.4 , 這裏主要用到redis-server.exe和redis-cli.exe, redis-server用於運行Redis服務器,redis-cli是命令行客戶端,通過它連接Redis服務器,並使用Redis命令進行各種操作.
2.服務啓動配置
複製源碼包根目錄下redis.conf到D:\redis2.4,打開CMD命令提示符,輸入以下命令啓動redis服務
啓動:
redis-server redis.conf
這樣redis服務就啓動成功了
配置:
更改redis的配置需要修改redis.conf文件,以下是它一些主要的配置註釋
#是否作爲守護進程運行 daemonize no #Redis 默認監聽端口 port 6379 #客戶端閒置多少秒後,斷開連接 timeout 300 #日誌顯示級別 loglevel verbose #指定日誌輸出的文件名,也可指定到標準輸出端口 logfile redis.log #設置數據庫的數量,默認最大是16,默認連接的數據庫是0,可以通過select N 來連接不同的數據庫 databases 32 #Dump持久化策略 #當有一條Keys 數據被改變是,900 秒刷新到disk 一次 #save 900 1 #當有10 條Keys 數據被改變時,300 秒刷新到disk 一次 save 300 100 #當有1w 條keys 數據被改變時,60 秒刷新到disk 一次 save 6000 10000 #當dump .rdb 數據庫的時候是否壓縮數據對象 rdbcompression yes #dump 持久化數據保存的文件名 dbfilename dump.rdb ########### Replication ##################### #Redis的主從配置,配置slaveof則實例作爲從服務器 #slaveof 192.168.0.105 6379 #主服務器連接密碼
# masterauth <master-password> ############## 安全性 ########### #設置連接密碼
#requirepass <password> ############### LIMITS ############## #最大客戶端連接數 # maxclients 128 #最大內存使用率 # maxmemory <bytes> ########## APPEND ONLY MODE ######### #是否開啓日誌功能 appendonly no # AOF持久化策略
#appendfsync always #appendfsync everysec #appendfsync no ################ VIRTUAL MEMORY ########### #是否開啓VM 功能 #vm-enabled no # vm-enabled yes #vm-swap-file logs/redis.swap #vm-max-memory 0 #vm-page-size 32 #vm-pages 134217728 #vm-max-threads 4
主從複製
在從服務器配置文件中配置slaveof ,填寫服務器IP及端口即可,如果主服務器設置了連接密碼,在masterauth後指定密碼就行了
持久化
redis提供了兩種持久化文案,Dump持久化和AOF日誌文件持久化
Dump持久化是把內存中的數據完整寫入到數據文件,由配置策略觸發寫入,如果在數據更改後又未達到觸發條件而發生故障會造成部分數據丟失.
AOF持久化是日誌存儲的,是增量的形式,記錄每一個數據操作動作,數據恢復時就根據這些日誌來生成.
3.命令行操作
使用CMD命令提示符,打開redis-cli連接redis服務器 ,也可以使用telnet客戶端
# redis-cli -h 服務器 –p 端口 –a 密碼
redis-cli.exe -h 127.0.0.1 -p 6379
連接成功後,就可對redis數據增刪改查了,如字符串操作
以下是一些服務器管理常用命令:
info #查看服務器信息
select <dbsize> #選擇數據庫索引 select 1
flushall #清空全部數據
flushdb #清空當前索引的數據庫
slaveof <服務器> <端口> #設置爲從服務器
slaveof no one #設置爲主服務器
shutdown #關閉服務