Redis系列(一):Redis簡介及環境安裝

申城異鄉人發表於2020-01-13

提到Redis,大家肯定都聽過,並且應該都在專案中或多或少的使用過,也許你覺得Redis用起來挺簡單的呀,但如果有人問你下面的幾個問題(比如同事或者面試官),你能回答的上來嗎?

  1. 什麼是Redis?
  2. Redis能儲存哪幾種資料結構?
  3. Redis有幾種持久化機制?它們的優缺點分別是什麼?
  4. 哪些場景需要使用Redis?
  5. 什麼是快取雪崩,如何避免?
  6. 什麼是快取穿透,如何避免?
  7. 什麼是快取擊穿,如何避免?

如果你都能回答的上來,恭喜你,說明你對Redis有一定的瞭解,如果回答不上來,也沒關係,本系列部落格會對Redis進行一系列的講解,歡迎關注!

所謂工欲善其事,必先利其器,既然要學習Redis,首先我們至少得知道什麼是Redis以及如何安裝Redis環境,這也是本篇部落格的主要內容。

1. Redis簡介

什麼是Redis呢?

Redis是一個開源(BSD許可)的記憶體資料結構儲存,用作資料庫、快取和訊息代理。它支援諸如字串、雜湊、列表、集合、有序集合等資料結構。Redis官網

Redis是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的高效能的key-value資料庫。– 百度百科

Redis是一款依據BSD開源協議發行的高效能key-value儲存系統,通常被稱為資料結構伺服器。– 其它網友

Redis是一個遠端記憶體資料庫,它不僅效能強勁,而且還具有複製特性以及為解決問題而生的獨一無二的資料模型。Redis提供了5種不同型別的資料結構,各式各樣的問題都可以很自然地對映到這些資料結構上。 – 《Redis實戰》

Redis是一個速度非常快的非關係型資料庫,它可以儲存鍵(key)與5種不同型別值(value)之間的對映(mapping),可以將儲存在記憶體的鍵值對資料持久化到硬碟,可以使用複製特性來擴充套件讀效能,還可以使用客戶端分片來擴充套件寫效能。– 《Redis實戰》

2. Redis環境安裝(Windows)

說明:Redis官方並沒有提供Windows版本的Redis,也不建議在生產環境使用Windows版本的Redis,我目前所在的公司生產環境Redis是部署在Linux伺服器的。

雖然Redis官方不支援Windows版本,但是微軟Microsoft Open Tech Group提供了1個Windows版本的Redis,下載地址:https://github.com/microsoftarchive/redis/releases

將下載好的檔案解壓到你喜歡的目錄,我這裡是E:\Tools\Redis-x64-3.0.504,如下所示:

雙擊上圖中紅色標記的redis-server.exe即可啟動Redis服務:

也可以開啟一個cmd視窗,切換到Redis所在目錄,然後執行如下命令啟動:

redis-server.exe redis.windows.conf

通過這2種方式開啟,需要保證cmd視窗一直保持開啟狀態,關閉後客戶端就無法連線,如果伺服器重啟了,需要再次開啟Redis服務端,為了解決該問題,我們可以把Redis安裝成Windows服務:

cd E:\Tools\Redis-x64-3.0.504

redis-server --service-install redis.windows.conf

你可以直接在介面上啟動/停止該服務,也可以執行cmd命令來啟動/停止/解除安裝該服務:

啟動服務:

redis-server --service-start

停止服務:

redis-server --service-stop

解除安裝服務:

redis-server --service-uninstall

3. Redis環境安裝(Linux)

首先,我們需要將Linux環境下Redis的安裝包放到伺服器上去,這裡有2種方法,第1種方法是,開啟Redis官網的下載地址:https://redis.io/download,下載穩定版本到本機:

然後通過工具,比如Xftp,將本地下載的檔案上傳至Linux伺服器的某目錄下,比如我這裡要上傳的目錄是/mnt。

第2種方式是通過命令直接下載Redis的安裝包到伺服器的/mnt目錄下,具體命令如下所示:

cd mnt/

wget -q http://download.redis.io/releases/redis-5.0.7.tar.gz

然後,執行如下命令解壓檔案:

tar -xzf redis-5.0.7.tar.gz

然後,執行如下命令將解壓好的檔案移動到/usr/local目錄下,並進行編譯:

mv redis-5.0.7 /usr/local/

cd /usr/local/redis-5.0.7

make

注意事項:執行完make命令後,螢幕會輸出好多資訊,大概有2~3屏的樣子

當看到如下資訊時,代表編譯完成:

然後,切換到/usr/local/redis-5.0.7/src目錄,執行make install命令進行安裝:

cd src/

make install

然後,切換到/usr/local/redis-5.0.7目錄,新建資料夾bin和etc,並將該目錄下的redis.conf檔案移動到etc目錄,

將/usr/local/redis-5.0.7/src目錄下的mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server

移動到剛剛建立的bin目錄:

cd ..

mkdir bin

mkdir etc

mv redis.conf etc/

cd src

mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server /usr/local/redis-5.0.7/bin/

然後,切換到/usr/local/redis-5.0.7/etc目錄,修改下Redis的配置檔案redis.conf:

cd ..

cd etc/

vi redis.conf

redis.conf主要修改以下4點:

  1. 將daemonize no改為daemonize yes,表示需要在後臺執行

  2. 將bind 127.0.0.1這一行註釋掉

    這裡的bind指的是隻有指定的網段才能遠端訪問這個redis,註釋掉後,就沒有這個限制了。

  3. 將protect-mode yes改為protect-mode no

    預設是protect-mode yes,不能遠端訪問,改為no之後,可以遠端訪問

  4. 新增requirepass 123456設定密碼(預設密碼為空)

最後,切換到/usr/local/redis-5.0.7/bin目錄,執行如下命令啟動Redis服務:

cd ..

cd bin/

redis-server /usr/local/redis-5.0.7/etc/redis.conf

啟動後,可以執行如下命令檢視Redis是否啟動以及程式ID:

ps aux | grep redis-server

4. Redis Hello World示例

開啟cmd視窗,開啟一個redis-cli互動視窗來簡單使用下Redis:

redis-cli.exe -h 127.0.0.1 -p 6379

設定一個key-value快取,其中key為hello,value為hello world!:

set hello "hello world!"

獲取key為hello的值:

get hello

5. Redis Desktop Manager使用

雖然我們可以通過命令的方式來檢視Redis儲存的資料,但畢竟不太友好,這裡推薦個比較流行的工具:Redis Desktop Manager。

官網地址:https://redisdesktop.com/

官網現在的版本2019.5需要付費才能使用,否則只有14天的試用期。

在2019年6份開啟還是下面這樣的,貌似漲價了啊,哈哈。

不過我們仍然可以下載之前不付費的版本,下載地址:https://github.com/uglide/RedisDesktopManager/releases/tag/0.8.8

安裝過程比較簡單,這裡不再贅述,安裝完成後,連線本機Windows環境下的Redis伺服器:

連線成功後,可以看到之前設定的值:

也可以連線遠端Linux環境下的Redis伺服器:

有些同學可能使用的工具是Another.Redis.Dsektop.Manager,這裡只貼下下載地址:http://electronjs.org/apps/anotherredisdesktopmanager,有興趣的同學可以自行下載。

6. 原始碼及參考

Redis的安裝和部署(windows )

Windows下使用Redis(一)安裝使用

Linux下安裝Redis

我是一名奮鬥在上海的程式設計師,如果有興趣,歡迎新增我的個人微信(個人主頁上有我的微信),一起交個朋友。

相關文章