1. 程式人生 > 實用技巧 >web主機構建的三種方式

web主機構建的三種方式

Redis介紹

引言

 

 我們的專案就是這樣的,客戶端訪問伺服器,伺服器訪問資料庫。如果訪問量過大,那麼伺服器可能就承受不住了,此時可以增加墮胎伺服器,即伺服器叢集,但是資料庫的壓力大(資料庫基於SQL從磁碟中通過IO獲取和存放資料),這時輕則導致查詢效率低,重則直接伺服器崩潰。怎麼辦呢?這時候就要用到Redis。此外,有了墮胎伺服器後,客戶端的訪問通過伺服器叢集的時候,不知道該訪問哪一臺伺服器。比如此時通過上面的伺服器進行登入(上面伺服器儲存了Session),但是下次從下面伺服器去請求,卻沒有session。還有鎖的問題,如果上面儲存了鎖,下面也可以再儲存另外一個鎖,因為兩個鎖是根據各自伺服器中的物件建立的,此時不具有互斥性,這樣也會出現問題。

總結:

  1. 由於使用者增大,請求數量也隨之增大,資料壓力過大。
  2. 墮胎伺服器之間,資料不同步。
  3. 墮胎伺服器之間的鎖,已經不存在互斥性了。

 Redis介紹

  •  Redis就是一款NoSQL。
  • NoSQL->非關係型資料庫->Not Only SQL.有如下類別:
  • key-Value:Redis.....
  • 文件型:ElasticSearch,Solr,Mongodb...
  • 面向列:Hbase,Cassandra...
  • 除了關係型資料庫都是非關係型資料庫。
  • NoSQL只是一種概念,泛指非關係型資料庫,和關係型資料庫做一個區分。

關係型資料庫是說表與表之間存在關係,而非關係型資料是說表與表之間沒有關係,甚至說有些關係型資料庫不存在表。

作者介紹:

  • 由以為義大利人,在開發一款LLOOGG的統計頁面,因為MySQL的效能不好,自己研發了一款非關係型資料庫,並命名為Redis。作者是Salvatore。
  • Redis(Remote Dictionary Server)即遠端字典服務,Redis是由C語言去編寫,Redis是一款基於key-Value的NoSQL,而且Redis是基於記憶體儲存資料的,Redis還提供了多種持久化機制(放置斷電資料丟失),效能可以達到110000/s讀取資料以及81000/s寫入資料,Redis還提供了主從,燒餅以及叢集的搭建方式,可以更方便的橫向擴充套件以及垂直擴充套件。

Redis安裝

 這裡老師的安裝用了Dockor和Negix,我的天,我就百度安裝了。

Redis常用命令

 在講述Redis常用命令之前,先講述下Redis儲存資料的結構。