1. 程式人生 > 實用技巧 >Redis 簡介與安裝

Redis 簡介與安裝

簡介

Redis 是一種高效能的 Key-Value 資料庫。

Redis 中文官網

NoSQL 介紹

NoSQL是一種新出現的資料庫(Not Only SQL),它的特點:

  • 不支援 SQL 語法
  • 儲存結構跟傳統關係型資料庫中的那種關係表完全不同,NoSQL 中儲存的資料都是 Key-Value 形式
  • NoSQL 的世界中沒有一種通用的語言,每種 NoSQL 資料庫都有自己的 api 和語法,以及擅長的業務場景。

NoSQL 的種類

MongoDB、Redis、Hbase hadoop、Cassandra hadoop

NoSQL 和 SQL 資料庫的區別

  • 適用場景不同:SQL 資料庫適合用於關係特別複雜的資料查詢場景;NoSQL 反之
  • 兩者在不斷的取長補短,呈現融合趨勢

Redis 介紹

Redis 是一個開源的使用 ANSI C 語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value 資料庫,並提供多種語言的 API。

從2010年3月15日起,Redis 的開發工作由 VMware 主持。從2013年5月開始,Redis 的開發由 Pivotal 贊助。

Redis 是 NoSQL 技術陣營中的一員,它通過多種鍵值資料型別來適應不同場景下的儲存需求,藉助一些高層級的介面使用其可以勝任,如快取、佇列系統的不同角色。

Redis 特性

Redis 與其它 Key-Value 快取產品有以下三個特點:

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

Redis 優勢

  • 效能極高:Redis 能讀的速度是 110000 次/s,寫的速度是 81000 次/s
  • 豐富的資料型別:Redis支援二進位制案例的 Strings、Lists、Hashed、Sets及Ordered Sets資料型別操作
  • 原子:Redis 的所有操作都是原子性的,同時 Redis 還支援對幾個操作全並後的原子性執行
  • 豐富的特性:Redis 還支援 publish/subscribe、通知、key 過期等特性。

Redis 應用場景

  • 用來做快取(ehcache/memcached):Redis 的所有資料是放在記憶體中的(記憶體資料庫)
  • 可以在某些特定應用場景下替代傳統資料庫:比如社交類的應用
  • 在一些大型系統中,巧妙的實現一些特性的功能:Session 共享、購物車

Redis 與 Mongodb 的區別

記憶體管理機制上

  • Redis 資料全部存在記憶體,定期寫入磁碟,當記憶體不夠時,可以選擇指定的 LRU 演算法刪除資料。
  • MongoDB 資料存在記憶體,由 Linux 系統 mmap 實現,當記憶體不夠時,只將熱點資料放入記憶體,其它資料存在磁碟。

支援的資料結構上

  • Redis 支援的資料結構豐富,包括 hash、set、list等。
  • MongoDB 資料結構比較單一,但是支援豐富的資料表達、索引,最類似關係型資料庫,支援的查詢語言豐富。

Redis的資料型別及底層實現

  • 字串:整數值、embstr編碼的簡單動態字串、簡單動態字串(SDS)
  • 列表:壓縮列表、雙端連結串列
  • 雜湊:壓縮列表、字典
  • 集合:整數集合、字典
  • 有序集合:壓縮列表、跳躍表和字典

安裝

Windows下安裝Redis

Github下載地址:https://github.com/microsoftarchive/redis/releases

下載檔案

如果 github 下載檔案慢,可以下載我已經下載好的檔案:

下載完成後進行解壓,解壓路徑我選擇的是:D:\redis

開啟 cmd,使用 cd 命令進入redis的目錄,輸入 redis-server.exe redis.windows.conf

輸入之後,會顯示如下介面:

這時候另啟一個 cmd 視窗,原來的不要關閉,不然就無法訪問服務端了。

切換到 redis 目錄下執行:

redis-cli.exe -h 127.0.0.1 -p 6379

設定鍵值對:

set myKey abc

取出鍵值對:

get myKey

Linux 下安裝 Redis

下載

$ wget http://download.redis.io/releases/redis-6.0.5.tar.gz

或者進入網址下載指定版本: http://download.redis.io/releases/

解壓

$ tar xzf redis-6.0.5.tar.gz

進入

$ cd redis-6.0.5

編譯

$ make

安裝

$ sudo make install

驗證

$ redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected> 

李培冠部落格

lpgit.com