redis系列:redis介紹與安裝

weixin_34357887發表於2018-07-10

前言

這個redis系列的文章將會記錄博主學習redis的過程。基本上現在的網際網路公司都會用到redis,所以學習這門技術於你於我都是有幫助的。

博主在寫這個系列是用的是目前最新版本4.0.10,虛擬機器裝的是4.0.10,為了方便window也安裝了(版本3.2.100)。後續命令會採用命令列,jedis和spring整合jedis這三種方式進行操作。

在這片博文的開始,可以先試著問幾個問題,帶著問題看博文,或許能更有收穫。

  1. 什麼是redis?
  2. 為什麼要使用redis?
  3. 如何搭建redis環境?

什麼是redis?

Redis 是開源的(Github地址),採用BSD協議,C語言編寫的、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫。

它支援不同型別的value,包括string(字串)、list(連結串列)、set(集合)、zset(sorted set --有序集合)和hash(雜湊型別)、基數統計的演算法 HyperLogLogs, 點陣圖Bitmaps 。

這些資料的操作不僅僅有設定值和獲取值方法,還支援更復雜的操作方式,例如交集、並集、差集等等。

為什麼要使用redis

想要知道為什麼要使用redis前,需要先知道為什麼要用快取。

為什麼要用快取

當一個應用的資料量或者使用者量上來後,如果每一次的查詢都去訪問資料庫,或造成資料庫效率變慢甚至崩潰。

而且在大多數應用中都是讀多寫少的,就可以將這些經常讀的資料放到另外一個地方去(也就是快取),讓系統先從這個地方(快取)獲取,獲取不到在查詢資料庫。這樣可以大大的減少資料庫的壓力。

有沒有其他的快取

有,經常與redis做比較的memcache,這裡就不比較它們的區別了,有興趣的可以自己搜尋。

我們來看看redis的其它方面

redis特點

  • Redis支援資料的持久化,可以將記憶體中的資料保持在磁碟中,重啟的時候可以再次載入進行使用。
  • Redis不僅僅支援簡單的key-value型別的資料,同時還提供list,set,zset,hash等資料結構的儲存。
  • Redis支援資料的備份,即master-slave模式的資料備份。

Redis 優勢

  • 效能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。

  • 豐富的資料型別 – Redis支援二進位制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 資料型別操作。

  • 原子 – Redis的所有操作都是原子性的,同時Redis還支援對幾個操作全並後的原子性執行。

  • 豐富的特性 – Redis還支援 publish/subscribe, 通知, key 過期等等特性。

如何搭建redis環境?

下載

window上的64位redis下載地址https://github.com/MicrosoftArchive/redis/releases

linux 官網地址: https://redis.io/download

目前官網首頁提供的版本是4.0.10

Redis版本列表 :http://download.redis.io/releases/

window

將下載下來的檔案解壓或者安裝,目錄如下

雙擊redis-server.exe啟動redis服務

雙擊redis-cli.exe啟動redis客戶端

linux

用linux命令wget

wget http://download.redis.io/releases/redis-4.0.10.tar.gz
複製程式碼

或者從官網下載,然後上傳檔案到linux上

解壓

tar xzf redis-4.0.10.tar.gz
複製程式碼

進入redis目錄,編譯

cd redis-4.0.10
make
複製程式碼

啟動服務

src/redis-server
複製程式碼

或者進入src目錄

./redis-server
複製程式碼

想要後臺啟動最後加個&

src/redis-server &
複製程式碼

這樣啟動的話,系統已重啟又要重新啟動redis服務

我們可以加到系統啟動裡面,讓它開機自啟動

注:出現問題 Could not connect to Redis at 127.0.0.1:6379: Connection refused

找到redis目錄的redis.conf 檔案

修改daemonize nodaemonize yes,也就是將no改為yes,目的是開啟守護執行緒模式,可以在後臺執行

開啟客戶端

src/redis-cli
複製程式碼

或者進入src目錄

./redis-cli
複製程式碼

線上測試 redis http://try.redis.io/

後續內容

命令介紹
  • Cluster
  • Connection
  • Geo
  • Hashes
  • HyperLogLog
  • Keys
  • Lists
  • Pub/Sub
  • Scripting
  • Server
  • Sets
  • Sorted Sets
  • Streams
  • Strings
  • Transactions
redis事務
Redis的資料持久化
redis主從、哨兵、叢集

等等

相關文章