redis - 環境搭建(Windows)

一:簡介(來自百科)

redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)和zset(有序集合)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,爲了保證效率,數據都是緩存在內存中。區別的是redis會週期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步。
Redis 是一個高性能的key-value數據庫。 redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部 分場合可以對關係數據庫起到很好的補充作用。它提供了Python,Ruby,Erlang,PHP客戶端,使用很方便。[1]

二:環境搭建

1.windows

  下載windows版本,解壓出來,目前最新版本爲2.4.5   下載地址

  根據操作系統 進入相應的目錄 

   啓動Redis服務端  redis-server.exe redis.conf

啓動redis服務器時也可以直接指定配置文件,可以保存爲 startup.bat 文件:

redis-server.exe redis.conf

 啓動服務端成功後  可以使用客戶端redis-cli.exe測試

  redis-cli.exe -h 127.0.0.1 -p 6379

  set keytest valuestest

  get keytest

如果用客戶端來訪問,使用如下cmd命令,可以保存爲 client.bat 文件:

redis-cli.exe -h 127.0.0.1 -p 6379 -a 123456


2.liunx  後續補


三:可視化工具Redis Desktop Manager

我們需要安裝一個輔助的可視化工具Redis Desktop Manager,這是下載地址:http://redisdesktop.com/download

我們下載windows版本,安裝完成後,還沒有任何連接對象,那就讓我們給它添加一個。點擊下方的connect to redis server,出現個彈出框。然後Name我們可以隨便輸,Host添我們redis服務器的ip地址,本地可以直接填寫localhost,端口默認爲6379,Auth就是密碼,不是必填項,如果沒設置密碼可不填,點擊OK,建立完成。




四:redis配置文件參數(redis.conf)



#是否以後臺守護進程運行,默認爲no, 取值yes, no 
daemonize no                   

#pid文件存放路徑
pidfile /var/run/redis.pid    

#配置redis端口,默認6379
port 6379                    

#綁定ip。默認綁定所有本機ip,一般用在服務器多ip下,可以只監聽內網服務器ip,保證服務安全
bind 127.0.0.1              

#sock文件 
#unixsocket /tmp/redis.sock  
#unixsocketperm 755

#客戶端超時時間,單位秒 
timeout 300                

#log級別,支持四個級別,debug,notice,verbose,warning 
loglevel verbose           

#log文件路徑
logfile                    

#log輸出到標準設備,logs不寫文件,輸出到空設備,/deb/null
logfile stdout               

# To enable logging to the system logger, just set 'syslog-enabled' to yes,
# and optionally update the other syslog parameters to suit your needs.
# syslog-enabled no

# Specify the syslog identity.
# syslog-ident redis

# Specify the syslog facility.  Must be USER or between LOCAL0-LOCAL7.
# syslog-facility local0

# Set the number of databases. The default database is DB 0, you can select
# a different one on a per-connection basis using SELECT <dbid> where
# dbid is a number between 0 and 'databases'-1
# 設置redis服務器數據庫個數
databases 16

#保存快照的頻率,在多長時間內執行一定數量的寫操作時,保存快照的頻率,可以設置多個條件。如果都註釋掉,則不做內存數據持久化。如果只是把redis只用作cache,不開啓持久化功能
save <seconds> <changes> 
save 900 1 

#是否使用壓縮
rdbcompression            

#快照數據庫名稱 
dbfilename               

#數據庫存放路徑 
dir   ./                   

#redis主從 做法  在從上填上主的IP和端口號 主上不用做任何設置
slaveof  <masterip> <masterport>   

#主庫服務器口令,如果主服務器未打開requirepass,則不需要此項
masterauth <master-password>     

#在master服務器掛掉或者同步失敗時,從服務器是否繼續提供服務
slave-serve-stale-data yes        

# Slaves send PINGs to server in a predefined interval. It's possible to change
# this interval with the repl_ping_slave_period option. The default value is 10
# seconds.
#
# repl-ping-slave-period 10

# The following option sets a timeout for both Bulk transfer I/O timeout and
# master data or ping response timeout. The default value is 60 seconds.
#
# It is important to make sure that this value is greater than the value
# specified for repl-ping-slave-period otherwise a timeout will be detected
# every time there is low traffic between the master and the slave.
#
# repl-timeout 60 


#設置redis服務密碼,如果開啓,則客戶端連接時需要 -a  指定密碼,否則操作會提示無權限
#requirepass foobared               
requirepass 123456

#命令改名,相當於linux  alias,可以用改功能屏蔽一些危險命令
rename-command                    

#最大連接數;0 表示不限制
maxclients 128                   

#最大使用內存(分配的內存),推薦生產環境下做相應調整,我們用的是隻用來做高速緩存,限制2G。默認情況下,redis會佔用可用的所有內存
#maxmemory <bytes>      
maxmemory 512000000          

#過期策略,提供六種策略  
maxmemory-policy volatile-lru   
volatile-lru    //刪除過期和lru 的key(默認值) 
allkeys-lru     //刪除lru算法的key  
volatile-random //隨機刪除即將過期key  
allkeys->random //隨機刪除 
volatile-ttl    //刪除即將過期的  
noeviction      //永不過期,返回錯誤 

#是否開啓appendonlylog,開啓的話每次寫操作會記一條log。相當於mysql的binlog;不同的是,每次redis啓動都會讀此文件構建完整數據。即使刪除rdb文件,數據也是安全的 
appendonly   no

#日誌文件的名稱,默認appendonly.aof
appendfilename appendonly.aof   

#異步寫append file 的策略。類似mysql事物log寫方式。三種
appendfsync                       
appendfsync always               //同步,每次寫都要flush到磁盤,安全,速度慢。 
appendfsync everysec             //每秒寫(默認值,推薦值)同mysql 
appendfsync no                   //交給操作系統去做flush的動作 

#虛擬內存開關 
vm-enabled no               

#swap文件,不同redis swap文件不能共享。而且生產環境下,不建議放在tmp目錄
vm-swap-file /tmp/redis.swap     

#vm大小限制。0:不限制,建議60-80% 可用內存大小
vm-max-memory 0                 

#根據緩存內容大小調整,默認32字節
vm-page-size 32                

#page數。每 8 page,會佔用1字節內存。vm-page-size * vm-pages 等於 swap 文件大小
vm-pages 134217728              

#vm 最大io線程數。注意: 0 標誌禁止使用vm 
vm-max-threads 4                

發佈了53 篇原創文章 · 獲贊 24 · 訪問量 37萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章