Redis環境搭建(MacOS)

Redis是一個開源的key-value類型的存儲系統,大部分數據存在於內存中,全部讀寫速度十分快。其支持的存儲value數據類型有多種,如:stringshasheslistssetssorted sets等等,這些數據類型都支持push/popadd/remove等豐富的操做,而且是原子性的。此外,redis還支持週期性的更新數據到磁盤或者追加到記錄文件,來實現master-slave數據同步的功能。html

MacOS系統上安裝redis的方式有多種,能夠用homebrew一鍵安裝:git

$ brew install redis

若是提示權限問題,請使用github

sudo brew install redis

此種方法再也不介紹。下面來介紹一下源碼安裝的方式:redis

1、編譯源碼

1. 下載源碼數據庫

源碼地址:https://redis.io/緩存

首先須要到redis官網下載源碼,而後解壓,若是是在終端裏解壓,可使用以下命令,解壓到當前目錄:安全

$ tar -zxf redis-4.0.0
![圖1](//upload-images.jianshu.io/upload_images/1843940-dd0a84ac3947d096.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

2. 編譯服務器

redisC語言開發的系統,須要gcc的編譯器,若是沒有C的編譯器,能夠用homebrew安裝一下:app

$ brew install gcc

redis裏包含了makefile,簡化了編譯步驟,直接使用make就能夠編譯:異步

$ make
![圖2](//upload-images.jianshu.io/upload_images/1843940-b7bed7d6e9340c52.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

2、安裝redis

在編譯完成後,須要把redis的命令安裝到/usr/local/bin目錄中,能夠直接使用make install命令,若是但願安裝到指定目錄,須要指定PREFIX的目錄。

1. 安裝

make PREFIX=/usr/local/redis-4.0.0 install

若是/usr/local目錄下沒有redis-4.0.0的目錄,須要建立,若是在終端中直接使用mkdir redis-4.0.0出現提示權限問題,則能夠在圖形化界面中建立,可是須要輸入密碼,這樣建立的目錄的owner用戶是當前用戶,而不是root用戶,由於root用戶在後面須要自動建立日誌文件時會遇到權限的問題。

PREFIX=/usr/local/redis-4.0.0表示指定redis的安裝目錄

2. redis配置

把源碼目錄下的redis.conf文件拷貝到/usr/local/redis-4.0.0/etc目錄下,而後按以下提示修改代碼:

#修改成守護模式
 
daemonize yes
 
#設置進程鎖文件
 
pidfile /usr/local/redis/redis.pid
 
#端口
 
port 6379
 
#客戶端超時時間
 
timeout 300
 
#日誌級別
 
loglevel debug
 
#日誌文件位置
 
logfile /usr/local/redis/log-redis.log
 
#設置數據庫的數量,默認數據庫爲0,可使用SELECT <dbid>命令在鏈接上指定數據庫id
 
databases 8
 
##指定在多長時間內,有多少次更新操做,就將數據同步到數據文件,能夠多個條件配合
 
#save <seconds> <changes>
 
#Redis默認配置文件中提供了三個條件:
 
save 900 1
 
save 300 10
 
save 60 10000
 
#指定存儲至本地數據庫時是否壓縮數據,默認爲yes,Redis採用LZF壓縮,若是爲了節省CPU時間,
 
#能夠關閉該#選項,但會致使數據庫文件變的巨大
 
rdbcompression yes
 
#指定本地數據庫文件名
 
dbfilename dump.rdb
 
#指定本地數據庫路徑
 
dir /usr/local/redis/db/
 
#指定是否在每次更新操做後進行日誌記錄,Redis在默認狀況下是異步的把數據寫入磁盤,若是不開啓,可能
 
#會在斷電時致使一段時間內的數據丟失。由於 redis自己同步數據文件是按上面save條件來同步的,因此有
 
#的數據會在一段時間內只存在於內存中
 
appendonly no
 
#指定更新日誌條件,共有3個可選值:
 
#no:表示等操做系統進行數據緩存同步到磁盤(快)
 
#always:表示每次更新操做後手動調用fsync()將數據寫到磁盤(慢,安全)
 
#everysec:表示每秒同步一次(折衷,默認值)
 
appendfsync everysec

3、使用redis

redis的官網上面有教程,能夠參考學習。

啓動redis服務(在redis-4.0.0目錄下):

$ ./bin/redis-server etc/redis.conf

啓動redis客戶端:

$ ./bin/redis-cli

圖3

另外,咱們也能夠查看redis的日誌文件log-redis.log,能夠看到redis的操做變化。

$ tail -f log-redis.log

圖4


redis的環境搭建如上所示,在現在的服務器應用開發過程當中,用redis作緩存的應用仍是十分普遍的,文中不足之處,還望互相交流學習。

參考資料

redis官網

redis github

初識redis——mac下搭建redis環境

相關文章
相關標籤/搜索