您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關php使用redis的原因,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
1、 Redis簡介
redis是Nosql數據庫中使用較為廣泛的非關系型內存數據庫,redis內部是一個key-value存儲系統。它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set –有序集合)和hash(哈希類型,類似于Java中的map)。Redis基于內存運行并支持持久化的NoSQL數據庫,是當前最熱門的NoSql數據庫之一,也被人們稱為數據結構服務器。
2、 互聯網時代背景下大機遇,什么要使用Nosql?
1) 當數據量的總大小一個機器放不下時。
2) 數據索引一個機器的內存放不下時。
3) 訪問量(讀寫混合)一個實例放不下時。
單機時代模型
如果每次存儲成千上萬條數據,這樣很會導致MySQL的性能很差,存儲以及讀取速度很慢,然后就演變成緩存+mysql+垂直拆分的方式。
Cache作為中間緩存
將所有的數據先保存到緩存中,然后再存入mysql中,減小數據庫壓力,提高效率。 但是當數據再次增加到又一個量級,上面的方式也不能滿足需求,由于數據庫的寫入壓力增加,Memcached只能緩解數據庫的讀取壓力。
讀寫集中在一個數據庫上讓數據庫不堪重負,大部分網站開始使用主從復制技術來達到讀寫分離,以提高讀寫性能和讀庫的可擴展性。Mysql的master-slave模式成為這個時候的網站標配了。
主從分離模式
在redis的高速緩存,MySQL的主從復制,讀寫分離的基礎之上,這時MySQL主庫的寫壓力開始出現瓶頸,而數據量的持續(xù)猛增,由于MyISAM使用表鎖,在高并發(fā)下會出現嚴重的鎖問題,大量的高并發(fā)MySQL應用開始使用InnoDB引擎代替MyISAM。
分表分庫模式
將變化小的、業(yè)務相關的放在一個數據庫,變化多的,不相關的數據放在一個數據庫。
3、 nosql數據庫的優(yōu)勢
1)易擴展
這些類型的數據存儲不需要固定的模式,無需多余的操作就可以進行橫向的擴展。相對于關系型數據庫可以減少表和字段特別多的情況。也無型之間在架構的層面上帶來了可擴展的能力
2)大數據量提高性能
3)多樣靈活的數據模型
在nosql中不僅可以存儲String,hash,set、Zset等數據類型,還可以保存javaBean以及多種復雜的數據類型。
4、 NoSql的應用
1) 大數據時代淘寶、微信、以及微博等都廣泛的使用了redis數據庫,將一些固定不變的數據例如學校,區(qū)域等固定的信息保存在關系型數據庫中。然后對于經常變化的數據例如淘寶每個節(jié)日都會有比較熱門的搜索顯示在搜索框,當節(jié)日過去關鍵字自動刪除,為了便于管理,可以將這些數據保存在redis數據庫中,并設置過期時間,到達時間就自動刪除。
2)為了緩解數據庫壓力,微博首先將發(fā)送的微博保存到redis數據庫,自己可以立即查看到,然后將內存中的數據同步到關系型數據庫。
關于php使用redis的原因就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。