課程播放網址:http://www.php.cn/course/404.html
該老師講課風格:
教師講課生動形象,機智詼諧,妙語連珠,動人心弦。一個生動形象的比喻,猶如畫龍點睛,給學生開啟智慧之門;一種恰如其分的幽默,引來學生會心的微笑,如飲一杯甘醇的美酒,給人以回味和留戀;哲人的警句、文化的箴言不時穿插於講述中間,給人思考和警醒。
本影片中較為困難是Memcache與Redis快取技術了:
#Memcache
Memcache是高效能,分散式記憶體物件快取系統,透過在內存裡維護一個統一的巨大的hash表,它能夠用來存儲各種格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等。簡單的說就是將資料呼叫到記憶體中,然後從記憶體中讀取,從而大大提高讀取速度。
Memcache特性:
(1)使用實體記憶體作為快取區,可獨立運作在伺服器上。每個進程最大2G,如果想快取更多的數據,可以開闢更多的memcache進程(不同連接埠)或使用分散式memcache進行緩存,將數據快取到不同的實體機器或虛擬機器上。
(2)使用key-value的方式來儲存數據,這是一種單一索引的結構化資料組織形式,可使資料項目查詢時間複雜度為O(1)。
(3)協議簡單:基於文字行的協議,直接透過telnet在memcached伺服器上可進行存取資料操作,簡單,方便多種快取參考此協議;
(4 )基於libevent高效能通訊:Libevent是一套利用C開發的程式庫,它將BSD系統的kqueue,Linux系統的epoll等事件處理功能封裝成一個接口,與傳統的select相比,提高了效能。
(5)內建的記憶體管理方式:所有資料都保存在記憶體中,存取資料比硬碟快,當記憶體滿後,透過LRU演算法自動刪除不使用的緩存,但沒有考慮資料的容災問題,重啟服務,所有資料會遺失。
(6)分散式:各memcached伺服器之間互不通信,各自獨立存取數據,不共享任何資訊。伺服器並不具有分散式功能,分散式部署取決於memcache客戶端。
(7)快取策略:Memcached的快取策略是LRU(最近最少使用)到期失效策略。在memcached內儲存資料項時,可以指定它在快取的失效時間,預設為永久。當memcached伺服器用完分配的內時,失效的資料被先替換,然後也是最近未使用的資料。在LRU中,memcached使用的是一種Lazy Expiration策略,自己不會監控存入的key/vlue對是否過期,而是在獲取key值時查看記錄的時間戳,檢查key/value對空間是否過期,這樣可減輕伺服器的負載。
Redis
Redis 是一個開源(BSD許可)的,基於記憶體的,多資料結構儲存系統。可以用作資料庫、快取和訊息中間件。 支援多種類型的資料結構,如字串(strings), 雜湊(hashes), 清單(lists), 集合(sets), 有序集合(sorted sets) 與範圍查詢,bitmaps,hyperloglogs和地理空間(geospatial ) 索引半徑查詢。
內建了 複製(replication),LUA腳本(Lua scripting),LRU驅動事件(LRU eviction),事務(transactions) 和不同級別的磁碟持久化(persistence), 並通過redis哨兵(Sentinel)和自動分區(Cluster)提供高可用性(high availability)。
Redis常用資料型別
Redis最常用的資料型別主要有以下:
以上是PHP開發APP介面視訊教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!