Redis安裝及使用詳解篇


一、什么是Redis?

Redis(Remote Dictionary Server ),即遠程字典服務。

Redis是是現在最受歡迎的NoSQL數據庫之一,是一種支持key-value等多種數據結構的存儲系統。是一個開源的使用ANSI C語言編寫,可用於緩存,事件發布或訂閱,高速隊列等場景。支持網絡,提供字符串,哈希,列表,隊列,集合結構直接存取,基於內存,可持久化。Redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部分場合可以對關系數據庫起到很好的補充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用方便。市面上類似於Redis,同樣是NoSQL型的數據庫有很多,除了Redis,還有MemCache、Cassadra和MongoDB。

二、Redis具備的特點

相比於其他數據庫類型,redis所具備的特點是非常明顯的,如下: * C/S通訊模型
  • 單進程單線程模型
  • 豐富的數據類型
  • 操作具有原子性
  • 持久化
  • 高並發讀寫
  • 支持lua腳本

三、Redis應用場景

眾多語言都支持Redis,因為Redis交換數據快,非常的適合存儲一些需要頻繁調取的數據,從而節省內存開銷,以達到提升速度的要求和節約服務器的開銷。如:
  • 最常用的會話緩存
  • 支付消息隊列
  • 活動排行榜或計數
  • 高頻讀、低頻寫````數據
  • 社交網絡和實時系統。

三、Redis數據類型

  • String(字符串):Redis最基本的數據類型,一個鍵對應一個值,一個鍵值最大存儲512MB
  • Hash(哈希):hash是一個鍵值對的集合,是一個String類型的field和value的映射表,適合用於存儲對象。
  • List(列表):是redis的簡單的字符串列表,按插入順序排序的字符串元素集合, 基於雙鏈表實現。
  • Set(集合):是String字符串類型的無序集合,與List類型最大的區別是:集合中的元素沒有順序, 且元素是唯一的。
  • ZSet(sorted set有序集合)是String類型的有序集合,也不可重復。有序集合中的每個元素都需要指定一個分數,根據分數對元素進行升序排序。

四、實際部署使用

我們將以實際來演示Redis部署使用。首先是選擇版本號,本文選擇的是5.0.10的版本

Redis官方下載:https://github.com/tporadowski/redis/releases

1-下載完成后進行解壓,在解壓文件夾內打開cmd窗口,

2-在cmd窗口下輸入如下命令啟動redis服務,結果如下圖:

redis-server.exe redis.windows.conf

3-再到剛剛解壓的文件夾內打開一個新的cmd窗口,輸入如下代碼,用於連接redis服務。

redis-cli.exe -h 127.0.0.1 -p 6379

然后我們設置一個新的值

set newkey ‘This is the redis clinet'

再讀取這個值,能正常寫入、讀取,說明部署的resid就沒問題了。

get newkey

在登錄狀態下對redis設置一個密碼,至此 redis設置就完成了。

config set requirepass 123456

4-彩蛋:以下內容適用於把redis部署在服務器或模擬器上的操作。本機的只需按如上操作即可。
因為我的redis部署在虛擬機(模擬服務器),redis默認監聽是本機的IP,如需局域網連接進去需要在redis.windows.conf文件內把bind 127.0.0.1用#注釋掉(如下圖),然后重啟redis。如果開啟防火牆還需要配置出入規則,否則還是無法連接的。

在如上配置完成后,本機也需要解壓redis壓縮包,然后在解壓文件內打開cmd,通過下面命令去連接模擬器上的redis.
注:192.168.226.134是模擬器IP

redis-cli.exe -h 192.168.226.134 -p 6379

5-連上后或者當你嘗試通過 get newKey 讀取剛剛設置的值時,然后redis就送你一份大禮了,開頭如下:
(error) DENIED Redis is running in protected mode because protected mode is……
這其實是redis的保護機制
這時候我們需要到模擬器(服務器)上在剛解壓的redis,打開解壓文件夾下的redis.windows.conf文件,把protected-mode yes用改為protected-mode no(如下圖),然后重啟redis。

當你操作以上步驟后,再次嘗試去連接redis,並讀取、寫入數據時就會發現不再報錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM