redis系列:redis介紹與安裝

前言

這個redis系列的文章將會記錄博主學習redis的過程。基本上如今的互聯網公司都會用到redis,因此學習這門技術於你於我都是有幫助的。linux

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

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

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

什麼是redis?

Redis 是開源的(Github地址),採用BSD協議,C語言編寫的、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫。redis

它支持不一樣類型的value,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)、基數統計的算法 HyperLogLogs, 位圖Bitmaps 。算法

這些數據的操做不單單有設置值和獲取值方法,還支持更復雜的操做方式,例如交集、並集、差集等等。spring

爲何要使用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主從、哨兵、集羣

等等

相關文章
相關標籤/搜索