揭開Redis的神祕面紗

本篇博文將爲你解開Redis的神祕面紗,經過閱讀本篇博文你將瞭解到如下內容:html

  1. 什麼是Redis?
  2. 爲何選擇 Redis?
  3. 什麼場景下用Redis?
  4. Redis 支持哪些語言?
  5. Redis下載
  6. Redis 如何安裝? windows 安裝
  7. Redis 如何修改配置?
  8. Redis Strings, Lists, Sets, Sorted Sets, Hashes 多種數據類型使用

 

1. 什麼是Redis?

亞馬遜技術社區解釋git

 超快速的開源內存中數據存儲,可用做數據庫、緩存、消息代理和隊列。

Redis 是一款開源的內存中數據存儲,可實現亞毫秒級的響應時間,每秒處理數百萬個請求,爲實時應用程序提供支持。它可用做快速數據庫、緩存、消息代理和隊列。Redis 提供各類數據結構,包括字符串、列表、集、排序集、HashMap、Hyperloglogo 和位圖。其餘 Redis 功能包括高可用性、地理空間、Lua 腳本、事務、磁盤持久性和羣集支持。Redis 通過 BSD 許可,採用優化的 C 語言代碼編寫,並支持多種開發語言和開源工具。Redis 是 REmote DIctionary Server 的首字母縮略詞。github

Redis 的主要使用案例包括數據庫緩存、會話存儲、流數據分析、地理空間分析、聊天/消息收發、媒體流實時數據存儲,以及遊戲排行榜。因爲速度超快且易於使用,Redis 是遊戲、廣告技術、金融服務、醫療保健和 IoT 應用程序的熱門選擇,這些應用程序都須要最出色的性能、可擴展性和可用性。redis

維基百科解釋算法

Redis是一個使用ANSI C編寫的開源、支持網絡、基於內存、可選持久性的鍵值對存儲數據庫,並提供多種語言的API。mongodb

根據月度排行網站DB-Engines.com的數據顯示,Redis是最流行的鍵值對存儲數據庫。
數據庫

 菜鳥教程解釋編程

Redis 是徹底開源免費的,遵照BSD協議,是一個高性能的key-value數據庫windows

Redis 與其餘 key - value 緩存產品有如下三個特色:後端

  • Redis支持數據的持久化,能夠將內存中的數據保存在磁盤中,重啓的時候能夠再次加載進行使用。
  • Redis不只僅支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。
  • Redis支持數據的備份,即master-slave模式的數據備份。

記憶:

Redis是一個內存數據庫,它保存在磁盤上。 數據模型是鍵值(Key-Value),但支持許多不一樣類型的值:Strings, Lists, Sets, Sorted Sets, Hashes (字符串,列表,集合,排序集合,哈希)

2. 爲何選擇 Redis?

  • 內存中數據存儲

  • 靈活的數據結構

  • 簡單性和易用性

  • 複製和持久性

  • 高可用性和可擴展性

  • 可延展性

2.1 內存中數據存儲

PostgreSQL、Cassandra、MongoDB 等數據庫將大部分數據存儲在磁盤或 SSD 上,而 Redis 則將全部數據存儲在服務器的主內存上。在傳統的基於磁盤的數據庫中,大多數操做都須要往返磁盤。相比之下,Redis 之類的內存數據存儲不會受到相同的損失,所以能夠支持更多操做,並提供更快的響應速度。它能夠提供超快的性能,讀取或寫入操做的平均時間不到一毫秒,並支持每秒數百萬次的操做。

2.2 靈活的數據結構

與提供有限數據結構的簡單鍵值數據存儲不一樣,Redis 可提供各類各樣的數據結構,以知足您的應用程序需求。Redis 數據類型包括:字符串,能夠是最大 512MB 的文本或二進制數據;列表,按添加順序列出的字符串集合;集,未排序的字符串集合,支持與其餘集類型的相交、聯合以及差運算;排序集,根據值排序的集;哈希,同於存儲字段和值的列表;地理空間,用於標記存儲位置座標;位圖,提供位級操做;以及 HyperLogLog,估算一個數據集中惟一項目的機率數據結構。

豐富的數據類型 – Redis支持二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數據類型操做

2.3 簡單性和易用性

藉助 Redis,您能夠減小用於存儲、訪問和使用應用程序中的數據的代碼行數,從而簡化您的代碼。例如,若是您的應用程序將數據存儲在 HashMap 中,而您想將這些數據存儲在數據存儲中,那麼只需使用 Redis 哈希數據結構來存儲這些數據便可。至於沒有哈希數據結構的數據存儲中的類似任務,則須要許多行代碼才能從一種格式轉換爲另外一種格式。Redis 附帶有原生數據結構和許多選項,以操做您的數據並與之交互。一百多個開源客戶端可供 Redis 開發者使用。

支持的語言包括 Java、Python、PHP、C、C++、C#、JavaScript、Node.js、Ruby、R、Go 等。

2.4 複製和持久性

Redis 採用的是主副本架構,並支持異步複製,用戶執行此類複製時能夠將數據複製到多個副本服務器。它可以提供更出色的讀取性能 (由於請求能夠在多個服務器間進行拆分) 和恢復功能 (主服務器發生中斷時)。爲了實現持久性,Redis 支持時間點備份 (將 Redis 數據集複製到磁盤),並支持建立僅附加文件 (AOF),以便在寫入每一個數據變動項時將其存儲到磁盤。

Redis支持主從同步。數據能夠從主服務器向任意數量的從服務器上同步,從服務器能夠是關聯其餘從服務器的主服務器。這使得Redis可執行單層樹複製。從盤能夠有意無心的對數據進行寫操做。因爲徹底實現了發佈/訂閱機制,使得從數據庫在任何地方同步樹時,可訂閱一個頻道並接收主服務器完整的消息發佈記錄。同步對讀取操做的可擴展性和數據冗餘頗有幫助。

2.5 高可用性和可擴展性

Redis 在單個主節點或羣集拓撲中提供主副本架構。這讓您能夠構建高度可用的解決方案,從而提供一致的性能和可靠性。若是您須要調整羣集大小,它還爲您提供了多種擴展選項,包括縱向擴展和橫向擴展、縱向縮減和縱向縮減,應有盡有。這讓您的羣集可以根據您的需求而發展。

2.6 可延展性

Redis 是一個開源項目,由充滿活力的社區提供支持。Redis 是基於開放標準的,沒有任何供應商或技術限制。它支持開放的數據格式,並擁有大量客戶。此外,客戶還可使用 Redis 模塊來擴展 Redis,以知足他們的特定需求。

3. 什麼場景下用Redis?

這個問題相信是困惑不少初學者的一個較大的絆腳石,話很少說,咱們開始繼續講解

  •  緩存 
  •  聊天、消息收發和隊列  
  • 會話存儲   
  • 富媒體流   
  • 地理空間 
  • 機器學習 
  • 實時分析

 3.1 緩存

Redis 是實施高度可用的內存中緩存的絕佳選擇,它能夠下降數據訪問延遲、提升吞吐量,並能夠減輕關係數據庫和應用程序或 NoSQL 數據庫和應用程序的負載。Redis 可以以亞毫秒級的響應時間爲頻繁請求的項目提供支持,並支持您輕鬆擴展以知足更高負載的需求,而無需增長昂貴的後端。使用 Redis 緩存的常見示例包括:數據庫查詢結果緩存、持久性會話緩存、網頁緩存,以及緩存頻繁使用的對象 (例如映像、文件和元數據) 等。

3.2 聊天、消息收發和隊列

Redis 支持發佈/訂閱、模式匹配和各類數據結構,例如列表、排序集和哈希,以支持各類類型的數據內容。這使得 Redis 可以支持高性能的聊天室、實時評論流、社交媒體信息以及服務器內部通訊。藉助 Redis 列表數據結構,客戶可以輕鬆實施輕量級隊列。這類列表提供了原子操做和屏蔽功能,適用於各類須要可靠消息代理或循環表的應用程序。

3.3 會話存儲

做爲具有高可用性和持久性的內存中數據存儲,Redis 是應用程序開發人員用來爲 Internet 級應用程序存儲和管理會話數據的常見選擇。Redis 可提供管理會話數據 (如用戶配置文件、憑證、會話狀態和用戶特定的個性化) 所需的亞毫秒級延遲、可擴展性和彈性。

3.4 遊戲排行榜

Redis 是尋求構建實時排行榜的遊戲開發者的熱門選擇。可直接使用 Redis 有序集數據結構,此結構實現了元素的惟一性,同時又可維護按元素分數排序的列表。建立實時排序表像用戶分數在每次更改後進行更新同樣簡單。您也可使用時間戳做爲分數,使用有序集處理時間序列數據。

 

3.6 富媒體流

Redis 提供了一個快速的內存中數據存儲,支持實時流使用案例。Redis 可存儲用於用戶配置文件和查看歷史記錄的元數據、數百萬用戶的身份驗證信息/令牌,以及清單文件,以便 CDN 可以將視頻一次性流式傳輸到數百萬移動和桌面用戶。

3.7 地理空間

Redis 提供專門構建的內存中數據結構和運算符,以便從規模和速度方面管理實時地理空間數據。因爲包含可用於實時存儲、處理和分析地理空間數據的 GEOADD、GEODIST、GEORADIUS 和 GEORADIUSBYMEMBER 等多個命令,Redis 能夠輕鬆快速地進行地理空間分析。您可使用 Redis 嚮應用程序添加基於位置的功能,如駕駛時間、駕駛距離和興趣點。

3.8 機器學習

數據驅動的現代化應用程序須要機器學習來快速處理數據量、數據多樣性和數據速率,並自動制定決策。對於遊戲和金融服務中的欺詐檢測、廣告技術中的實時競價,以及共享約會和共享單車中的配對等使用案例而言,可以在幾十毫秒內處理實時數據並作出決策相當重要。Redis 爲您提供了快速的內存中數據存儲,可快速構建、培訓和部署機器學習模型。

3.9 實時分析

Redis 可做爲內存中數據存儲,與流解決方案 (例如 Apache Kafka 和 Amazon Kinesis) 搭配使用,以亞毫秒級延遲提取、處理和分析實時數據。Redis 是實時分析使用案例的理想選擇,例如社交媒體分析、廣告投放、個性化和 IoT。

4. Redis 支持那些語言?

Redis 提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端和API,使用很方便。

記憶:支持多種編程語言

5. Redis 下載

5.1 Linux 版本下載

Redis官網下載地址: https://redis.io/download

若是須要下載Linux 版本的Redis,那麼可在Redis官網下載最新版本便可。

當前最新Redis Linux 版本4.0.9 

其餘下載地址:http://download.redis.io/releases/

5.2 Windows 版本下載

Redis 沒有官方的Windows版本,可是微軟開源技術團隊(Microsoft Open Tech group)開發和維護着這個 Win64 的版本

Redis Windows 版本GitHub下載:https://github.com/MicrosoftArchive/redis/releases

當前Windows 最新版本是3.2.1

 

除此以外,我發現國內提供了兩個Redis 中文鏡像網站,但可能下載的不是最新的,學習能夠在上面看資料。

Redis中文官網下載: http://www.redis.cn/

Redis 中文網: http://www.redis.net.cn/

很好的菜鳥入門教程:http://www.runoob.com/redis/redis-tutorial.html

 6. Redis 安裝

 6.1 Windows 版本安裝

 1.下載好安裝包後解壓到以下目錄

2. 打開一個 cmd 窗口,使用cd命令切換目錄到 C:\app\Redis\Redis-x64-3.2.100 運行 如下命令。

redis-server.exe redis.windows.conf

Tips:

Tips: 這裏要注意下,必須打開的是cmd窗口,windows 系統自帶的Windows PowerShell 執行命令會失敗

若是想方便的話,能夠把 redis 的路徑加到系統的環境變量裏,這樣就免得再輸路徑了,後面的那個 redis.windows.conf 能夠省略,若是省略,會啓用默認的。

輸入以後,會顯示以下界面:

這個操做的做用是啓動Redis 服務,就相似咱們熟知的啓動了tomcat 服務同樣的道理。

 3. 再用WIndows +R 快捷鍵打開一個新的CMD

Tips: 這時候必須另啓一個cmd窗口,原來的不要關閉,否則就沒法訪問服務端了。

 4.切換到redis目錄下運行 如下命令,進入redis Shell中

redis-cli.exe -h 127.0.0.1 -p 6379

 5. 驗證安裝是否正確,輸入如下命令設置鍵值對

set myKey abc

 6. 輸入如下命令取出鍵值對 

get myKey

 執行效果以下圖所示:

 

到這裏我有些不敢相信,這就是傳說中的Redis? 

沒錯,這就是Redis。

咱們回顧下Redis 的概念

Redis是一個內存數據庫,它保存在磁盤上。 數據模型是鍵值(Key-Value),但支持許多不一樣類型的值:Strings, Lists, Sets, Sorted Sets, Hashes (字符串,列表,集合,排序集合,哈希)

此時的你有沒有發現其實Redis也許並無咱們想象中的那麼複雜,到這裏咱們應該有這樣一個概念:

Redis 數據的寫入和讀取是經過Key和value 以不一樣的數據類型放入到內存中,因爲是在內存中處理,數據處理和響應速度天然會快不少。

固然Redis 不止如此,它還能夠將內存中的數據保存在磁盤中,重啓的時候能夠再次加載進行使用。

7. Redis 配置

Redis 的Linux 版本的配置文件位於 Redis 安裝目錄下,文件名爲 redis.conf。

Redis的windows 版本的配置文件存放在C:\app\Redis\Redis-x64-3.2.100\redis.windows.conf 和C:\app\Redis\Redis-x64-3.2.100\redis.windows-service.conf中。

配置文件中包括端口號,服務器IP地址綁定等信息。

7.1 獲取配置信息

咱們能夠經過 CONFIG 命令查看或設置配置項,

語法

Redis CONFIG 命令格式以下:

CONFIG GET CONFIG_SETTING_NAME

使用* 號獲取全部配置信息

CONFIG GET *

執行命令後效果如圖所示

上圖中咱們能夠看到,配置文件也是以鍵值對保存的,timeout 超時時間默認是0

好比咱們想只獲取這個配置文件信息,能夠這麼作

config get timeout

7.2 修改配置信息

你能夠經過修改 redis.conf 文件或使用 CONFIG set 命令來修改配置

語法

CONFIG SET 命令基本語法:

CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE 

好比咱們想要修改剛纔timeout 的值,那麼能夠這麼作

config set timeout 1

再次讀出來看看,咱們應該發現已經修改爲功了。

其餘參數說明

redis.conf 配置項說明以下:

1. Redis默認不是以守護進程的方式運行,能夠經過該配置項修改,使用yes啓用守護進程

    daemonize no

2. 當Redis以守護進程方式運行時,Redis默認會把pid寫入/var/run/redis.pid文件,能夠經過pidfile指定

    pidfile /var/run/redis.pid

3. 指定Redis監聽端口,默認端口爲6379,做者在本身的一篇博文中解釋了爲何選用6379做爲默認端口,由於6379在手機按鍵上MERZ對應的號碼,而MERZ取自意大利歌女Alessia Merz的名字

    port 6379

4. 綁定的主機地址

    bind 127.0.0.1

5.當 客戶端閒置多長時間後關閉鏈接,若是指定爲0,表示關閉該功能

    timeout 300

6. 指定日誌記錄級別,Redis總共支持四個級別:debug、verbose、notice、warning,默認爲verbose

    loglevel verbose

7. 日誌記錄方式,默認爲標準輸出,若是配置Redis爲守護進程方式運行,而這裏又配置爲日誌記錄方式爲標準輸出,則日誌將會發送給/dev/null

    logfile stdout

8. 設置數據庫的數量,默認數據庫爲0,可使用SELECT <dbid>命令在鏈接上指定數據庫id

    databases 16

9. 指定在多長時間內,有多少次更新操做,就將數據同步到數據文件,能夠多個條件配合

    save <seconds> <changes>

    Redis默認配置文件中提供了三個條件:

    save 900 1

    save 300 10

    save 60 10000

    分別表示900秒(15分鐘)內有1個更改,300秒(5分鐘)內有10個更改以及60秒內有10000個更改。

 

10. 指定存儲至本地數據庫時是否壓縮數據,默認爲yes,Redis採用LZF壓縮,若是爲了節省CPU時間,能夠關閉該選項,但會致使數據庫文件變的巨大

    rdbcompression yes

11. 指定本地數據庫文件名,默認值爲dump.rdb

    dbfilename dump.rdb

12. 指定本地數據庫存放目錄

    dir ./

13. 設置當本機爲slav服務時,設置master服務的IP地址及端口,在Redis啓動時,它會自動從master進行數據同步

    slaveof <masterip> <masterport>

14. 當master服務設置了密碼保護時,slav服務鏈接master的密碼

    masterauth <master-password>

15. 設置Redis鏈接密碼,若是配置了鏈接密碼,客戶端在鏈接Redis時須要經過AUTH <password>命令提供密碼,默認關閉

    requirepass foobared

16. 設置同一時間最大客戶端鏈接數,默認無限制,Redis能夠同時打開的客戶端鏈接數爲Redis進程能夠打開的最大文件描述符數,若是設置 maxclients 0,表示不做限制。當客戶端鏈接數到達限制時,Redis會關閉新的鏈接並向客戶端返回max number of clients reached錯誤信息

    maxclients 128

17. 指定Redis最大內存限制,Redis在啓動時會把數據加載到內存中,達到最大內存後,Redis會先嚐試清除已到期或即將到期的Key,當此方法處理 後,仍然到達最大內存設置,將沒法再進行寫入操做,但仍然能夠進行讀取操做。Redis新的vm機制,會把Key存放內存,Value會存放在swap區

    maxmemory <bytes>

18. 指定是否在每次更新操做後進行日誌記錄,Redis在默認狀況下是異步的把數據寫入磁盤,若是不開啓,可能會在斷電時致使一段時間內的數據丟失。由於 redis自己同步數據文件是按上面save條件來同步的,因此有的數據會在一段時間內只存在於內存中。默認爲no

    appendonly no

19. 指定更新日誌文件名,默認爲appendonly.aof

     appendfilename appendonly.aof

20. 指定更新日誌條件,共有3個可選值: 
    no:表示等操做系統進行數據緩存同步到磁盤(快) 
    always:表示每次更新操做後手動調用fsync()將數據寫到磁盤(慢,安全) 
    everysec:表示每秒同步一次(折衷,默認值)

    appendfsync everysec

 

21. 指定是否啓用虛擬內存機制,默認值爲no,簡單的介紹一下,VM機制將數據分頁存放,由Redis將訪問量較少的頁即冷數據swap到磁盤上,訪問多的頁面由磁盤自動換出到內存中(在後面的文章我會仔細分析Redis的VM機制)

     vm-enabled no

22. 虛擬內存文件路徑,默認值爲/tmp/redis.swap,不可多個Redis實例共享

     vm-swap-file /tmp/redis.swap

23. 將全部大於vm-max-memory的數據存入虛擬內存,不管vm-max-memory設置多小,全部索引數據都是內存存儲的(Redis的索引數據 就是keys),也就是說,當vm-max-memory設置爲0的時候,實際上是全部value都存在於磁盤。默認值爲0

     vm-max-memory 0

24. Redis swap文件分紅了不少的page,一個對象能夠保存在多個page上面,但一個page上不能被多個對象共享,vm-page-size是要根據存儲的 數據大小來設定的,做者建議若是存儲不少小對象,page大小最好設置爲32或者64bytes;若是存儲很大大對象,則可使用更大的page,若是不 肯定,就使用默認值

     vm-page-size 32

25. 設置swap文件中的page數量,因爲頁表(一種表示頁面空閒或使用的bitmap)是在放在內存中的,,在磁盤上每8個pages將消耗1byte的內存。

     vm-pages 134217728

26. 設置訪問swap文件的線程數,最好不要超過機器的核數,若是設置爲0,那麼全部對swap文件的操做都是串行的,可能會形成比較長時間的延遲。默認值爲4

     vm-max-threads 4

27. 設置在向客戶端應答時,是否把較小的包合併爲一個包發送,默認爲開啓

    glueoutputbuf yes

28. 指定在超過必定的數量或者最大的元素超過某一臨界值時,採用一種特殊的哈希算法

    hash-max-zipmap-entries 64

    hash-max-zipmap-value 512

29. 指定是否激活重置哈希,默認爲開啓(後面在介紹Redis的哈希算法時具體介紹)

    activerehashing yes

30. 指定包含其它的配置文件,能夠在同一主機上多個Redis實例之間使用同一份配置文件,而同時各個實例又擁有本身的特定配置文件

    include /path/to/local.conf
View Code

8. Redis 數據類型詳解

Redis 數據類型

 Redis支持五種數據類型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

8.1 String(字符串)

  • string是redis最基本的類型,你能夠理解成與Memcached如出一轍的類型,一個key對應一個value。
  • string類型是二進制安全的。意思是redis的string能夠包含任何數據。好比jpg圖片或者序列化的對象 。
  • string類型是Redis最基本的數據類型,一個鍵最大能存儲512MB。

 實例:

好比設置一個key 叫作testkey,value 值設置爲 this is test value

執行寫入命令:

set testkey "this is test value"

執行讀取命令

get testkey

Tips: 一個鍵最大能存儲512MB。

8.2 Hash(哈希)

  • Redis hash 是一個鍵值(key=>value)對集合。
  • Redis hash是一個string類型的field和value的映射表,hash特別適合用於存儲對象。

好比咱們想建立一個Hash 名稱叫作myhash,裏面存兩個key,兩個value

Key  -------------Value

field1   --------- "Hello"

field2  ----------"World"

執行建立Hash 和設置key和value 命令以下

HMSET myhash field1 "Hello" field2 "World"

 

讀取field1 的值

HGET myhash field1

 

讀取field2的值

HGET myhash field2

獲取全部myhash 裏面的值

HGETALL myhash

 

以上實例中 hash 數據類型存儲了包含用戶腳本信息的用戶對象。 實例中咱們使用了 Redis HMSET, HGETALL 命令

每一個 hash 能夠存儲 232 -1 鍵值對(40多億)。

8.3 List(列表)

 Redis 列表是簡單的字符串列表,按照插入順序排序。你能夠添加一個元素到列表的頭部(左邊)或者尾部(右邊)。

好比咱們想存放 redis, mongodb, rabitmq 這三個字符串到一個List集合裏面

那麼咱們須要依次執行下面命令

lpush runoob redis
lpush runoob mongodb
lpush runoob rabitmg

想遍歷這個list 

lrange runoob 0 2

只遍歷前兩個數據

列表最多可存儲 232 - 1 元素 (4294967295, 每一個列表可存儲40多億)。

8.4 Set(集合)

  • Redis的Set是string類型的無序集合。
  • 集合是經過哈希表實現的,因此添加,刪除,查找的複雜度都是O(1)。

sadd 命令

添加一個 string 元素到 key 對應的 set 集合中,成功返回1,若是元素已經在集合中返回 0,若是 key 對應的 set 不存在則返回錯誤。

sadd key member

實例

好比咱們想要依次將 redis,mongodb,rabitmg,rabitmg 添加到一個叫作myset的set集合中

依次執行下面命令

sadd myset "redis"

 

sadd myset "mongodb"
sadd myset "rabitmg"
sadd myset "rabitmg"

Tips: 回顯的1 表示添加成功的個數,添加失敗返回0

而後遍歷全部setj集合

smembers myset

你是否是很奇怪,咱們對rabitmg 添加了兩次,可是結果只有一個rabitmg

注意:以上實例中 雖然rabitmq 添加了兩次,但根據集合內元素的惟一性,第二次插入的元素將被忽略。

集合中最大的成員數爲 232 - 1(4294967295, 每一個集合可存儲40多億個成員)。

8.5 zset(sorted set:有序集合)

  •  Redis zset 和 set 同樣也是string類型元素的集合,且不容許重複的成員。
  • Set 是不容許重複的無序集合,zset 是不容許重複的有序集合。
  • 不一樣的是每一個元素都會關聯一個double類型的分數。redis正是經過分數來爲集合中的成員進行從小到大的排序。
  • zset的成員是惟一的,但分數(score)卻能夠重複。

8.5.1 添加數據到Zset 集合 

添加元素到集合,元素在集合中存在則更新對應score

zadd key score member 

實例

好比咱們想要依次將 redis,mongodb,admin,monogodb 添加到一個叫作myzset的zset集合中


8.5.2 遍歷Zset 集合 

遍歷myzset集合中 0-1000範圍內的數據
ZRANGEBYSCORE myzset 0 1000 

Tips: 細心的你必定發現,這些集合中的數據排序是按照設定的那個數字來排序的,

admin 數字設置的是2,monogodb 設置的是3,因此admin 在monogodb 的前面。

9.總結

好了到如今咱們已經對Redis有了初步的認識,再來看看這幾個問題,若是能回答出來,那麼就說明你掌握了本篇的內容。

  1. 什麼是Redis?
  2. 爲何選擇 Redis?
  3. 什麼場景下用Redis?
  4. Redis 支持哪些語言?
  5. Redis下載
  6. Redis 如何安裝? windows 安裝
  7. Redis 如何修改配置?
  8. Redis Strings, Lists, Sets, Sorted Sets, Hashes 多種數據類型使用
  9.  總結

本篇博文在windows 下使用Redis原生的命令行來啓動Redis  服務,操做Redis的多種數據類型

其實前面咱們已經提到,Redis支持多種語言,因此也提供了各個語言平臺的圖形化界面操做工具。

10.更多學習資源分享:

Redis 官網:https://redis.io/

菜鳥教程:http://www.runoob.com/redis/redis-tutorial.html

Redis中國用戶組: http://www.redis.cn/

Redis中文網1:http://redis.majunwei.com 

Redis 中文網2:http://www.redis.net.cn/

Redis命令中文參考手冊:http://redis.readthedocs.io/en/2.4/index.html

相關文章
相關標籤/搜索