成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

適用于Linux的頂級開源緩存工具有哪些

本篇內(nèi)容主要講解“適用于Linux的頂級開源緩存工具有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“適用于Linux的頂級開源緩存工具有哪些”吧!

創(chuàng)新互聯(lián)專注于猇亭企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),電子商務(wù)商城網(wǎng)站建設(shè)。猇亭網(wǎng)站建設(shè)公司,為猇亭等地區(qū)提供建站服務(wù)。全流程按需定制開發(fā),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

什么是緩存或內(nèi)容緩存?

緩存(或稱為內(nèi)容緩存)是一種廣泛使用的技術(shù),它將數(shù)據(jù)的副本存儲在臨時存儲位置(也稱為緩存)中,因此與從原始存儲中檢索數(shù)據(jù)相比,可以輕松,快速地訪問數(shù)據(jù)。根據(jù)緩存的類型和目的,存儲在緩存中的數(shù)據(jù)可能包括文件或文件片段(例如HTML文件,腳本,圖像,文檔等),數(shù)據(jù)庫操作或記錄,API調(diào)用,DNS記錄等。

緩存可以采用硬件或軟件的形式?;谲浖木彺妫ㄟ@是本文的重點)可以在應(yīng)用程序堆棧的不同層上實現(xiàn)。

緩存可以在客戶端側(cè)被施加(或在應(yīng)用程序展現(xiàn)層)中,例如,瀏覽器高速緩存或高速緩存的應(yīng)用程序(或離線模式)。大多數(shù)(如果不是全部)現(xiàn)代瀏覽器都附帶有HTTP緩存的實現(xiàn)。當(dāng)您訪問Web應(yīng)用程序以使您能夠查看網(wǎng)站或應(yīng)用程序上的最新數(shù)據(jù)或內(nèi)容,而不是瀏覽器使用本地存儲的內(nèi)容的舊副本時,您可能已經(jīng)聽說過流行的短語“ 清除緩存 ”。

客戶端緩存的另一個示例是DNS緩存,它發(fā)生在操作系統(tǒng)(OS)級別。它是有關(guān)操作系統(tǒng)或Web瀏覽器以前的DNS查找信息的臨時存儲。

也可以通過代理在LAN或WAN中的網(wǎng)絡(luò)級別上實現(xiàn)緩存。這種緩存的一個常見示例是cdn(內(nèi)容交付網(wǎng)絡(luò)),它是Web代理服務(wù)器的全局分布式網(wǎng)絡(luò)。

第三,您還可以在源服務(wù)器或后端服務(wù)器上實現(xiàn)緩存。服務(wù)器級緩存有不同形式,包括:

Web服務(wù)器緩存(用于緩存圖像,文檔,腳本等)。

應(yīng)用程序緩存或記憶(用于從磁盤讀取文件,從其他服務(wù)或進程讀取數(shù)據(jù)或從API請求數(shù)據(jù)等)。

數(shù)據(jù)庫緩存(提供對常用數(shù)據(jù)(例如請求的數(shù)據(jù)庫行,查詢結(jié)果和其他操作)的內(nèi)存訪問)。

請注意,緩存數(shù)據(jù)可以存儲在任何存儲系統(tǒng)中,包括數(shù)據(jù)庫,文件,系統(tǒng)內(nèi)存等,但是應(yīng)該是比主要源更快的介質(zhì)。在這方面,內(nèi)存緩存是最有效和最常用的緩存形式。

為什么要使用緩存?

緩存具有許多優(yōu)點,包括:

在數(shù)據(jù)庫級別,它將緩存數(shù)據(jù)的讀取性能提高到微秒。您還可以使用回寫式高速緩存來提高寫入性能,在這種情況下,數(shù)據(jù)以指定的間隔寫入內(nèi)存中,然后再寫入磁盤或主存儲中。但是它的數(shù)據(jù)完整性方面可能會帶來災(zāi)難性的影響。例如,當(dāng)系統(tǒng)在即將數(shù)據(jù)提交到主存儲之前崩潰時。 在應(yīng)用程序級別,緩存可以在應(yīng)用程序進程本身中存儲頻繁讀取的數(shù)據(jù),從而將數(shù)據(jù)查找時間從幾秒鐘減少到幾微秒,尤其是在網(wǎng)絡(luò)上。 考慮到整個應(yīng)用程序和服務(wù)器的性能,緩存有助于減少服務(wù)器的負(fù)載,延遲和網(wǎng)絡(luò)帶寬,因為緩存的數(shù)據(jù)被提供給客戶端,從而提高了響應(yīng)時間和向客戶端的交付速度。 緩存還允許內(nèi)容可用性(尤其是通過CDN),以及許多其他好處。

1. redis

Redis(完整的REmote DIctionary Server)是一個免費,開源,快速,高性能,靈活的分布式內(nèi)存計算系統(tǒng),可以在大多數(shù)(即使不是全部)編程語言中使用。

它是內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)存儲,用作緩存引擎,內(nèi)存中的持久磁盤數(shù)據(jù)庫和消息代理。盡管Redis是在Linux(推薦的部署平臺)和OS X上進行開發(fā)和測試的,但它也可以在其他POSIX系統(tǒng)(例如* BSD)中運行,而無需任何外部依賴。

Redis支持許多數(shù)據(jù)結(jié)構(gòu),例如字符串,哈希,列表,集合,排序集合,位圖,流等。這使程序員可以使用特定的數(shù)據(jù)結(jié)構(gòu)來解決特定的問題。它支持對其數(shù)據(jù)結(jié)構(gòu)進行自動操作,例如追加到字符串,將元素推送到列表,增加哈希值,計算集合交集等。

它的主要功能包括Redis主從復(fù)制(默認(rèn)情況下是異步的),使用Redis Sentinel提供的高可用性和自動故障轉(zhuǎn)移,Redis集群(您可以通過添加更多集群節(jié)點來水平擴展)和數(shù)據(jù)分區(qū)(在多個Redis實例之間分配數(shù)據(jù)) )。它還具有對事務(wù),Lua腳本,一系列持久性選項以及客戶端-服務(wù)器通信加密的支持。

作為一個內(nèi)存中但持久的磁盤數(shù)據(jù)庫,Redis在與內(nèi)存中數(shù)據(jù)集配合使用時表現(xiàn)最佳。但是,您可以將其與磁盤數(shù)據(jù)庫一起使用,例如MySQL,PostgreSQL等。例如,您可以在Redis中獲取大量寫操作的小數(shù)據(jù),并將其他數(shù)據(jù)塊保留在磁盤數(shù)據(jù)庫中。

Redis通過多種方式支持安全性:一種是使用“ 保護模式 ”功能來保護Redis實例不被外部網(wǎng)絡(luò)訪問。它還支持客戶端-服務(wù)器身份驗證(在服務(wù)器中配置密碼并在客戶端中提供密碼)以及所有通信通道(例如客戶端連接,復(fù)制鏈接和Redis Cluster總線協(xié)議等)上的TLS。

Redis有很多用例,包括數(shù)據(jù)庫緩存,全頁緩存,用戶會話數(shù)據(jù)管理,API響應(yīng)存儲,發(fā)布/訂閱消息傳遞系統(tǒng),消息隊列等等。這些可以應(yīng)用于游戲,社交網(wǎng)絡(luò)應(yīng)用程序,RSS提要,實時數(shù)據(jù)分析,用戶推薦等。

2. Memcached

Memcached是一個免費,開源,簡單但功能強大的分布式內(nèi)存對象緩存系統(tǒng)。它是內(nèi)存中的鍵值存儲區(qū),用于存儲少量數(shù)據(jù),例如數(shù)據(jù)庫調(diào)用,API調(diào)用或頁面呈現(xiàn)的結(jié)果。它可以在類似Unix的操作系統(tǒng)(包括Linux和OS X)上運行,也可以在Microsoft Windows上運行。

作為開發(fā)人員工具,它旨在通過緩存內(nèi)容(默認(rèn)情況下為最近最少使用(LRU)緩存)來提高動態(tài)Web應(yīng)用程序的速度,從而減少磁盤上的數(shù)據(jù)庫負(fù)載–它充當(dāng)以下任務(wù)的短期內(nèi)存應(yīng)用程序。它提供了最流行的編程語言的API。

Memcached支持將字符串作為唯一的數(shù)據(jù)類型。它具有客戶端-服務(wù)器體系結(jié)構(gòu),其中一半邏輯發(fā)生在客戶端,另一半發(fā)生在服務(wù)器端。重要的是,客戶了解如何為項目選擇要寫入或讀取的服務(wù)器。此外,如果客戶端無法連接到服務(wù)器,則客戶端非常了解該怎么辦。

盡管它是一個分布式緩存系統(tǒng),因此支持群集,但Memcached服務(wù)器彼此斷開連接(即,它們彼此之間不知道)。這意味著沒有像Redis這樣的復(fù)制支持。他們還了解如何存儲和獲取項目,管理何時驅(qū)逐或重新使用內(nèi)存。您可以通過添加更多服務(wù)器來增加可用內(nèi)存。

從Memcached 1.5.13開始,它支持通過TLS進行身份驗證和加密,但是此功能仍處于試驗階段。

3. Apache Ignite

Apache Ignite,也是一個免費的開放源代碼,可水平擴展的分布式內(nèi)存中鍵值存儲,高速緩存和多模型數(shù)據(jù)庫系統(tǒng),它提供了強大的處理API,可用于在分布式數(shù)據(jù)上進行計算。它也是一個內(nèi)存中的數(shù)據(jù)網(wǎng)格,可以在內(nèi)存中使用,也可以與Ignite本機持久性一起使用。它可以在類似UNIX的系統(tǒng)(例如Linux和Windows)上運行。

它具有多層存儲,完整的SQL支持以及跨多個集群節(jié)點的ACID(原子性,一致性,隔離性,耐久性)事務(wù)(僅在鍵值A(chǔ)PI級別上受支持),共處一地處理和機器學(xué)習(xí)。它支持與任何第三方數(shù)據(jù)庫(包括任何RDBMS(例如MySQL,PostgreSQL,Oracle數(shù)據(jù)庫等)或NOSQL存儲)的自動集成。

重要的是要注意,盡管Ignite用作SQL數(shù)據(jù)存儲,但它并不完全是SQL數(shù)據(jù)庫。與傳統(tǒng)數(shù)據(jù)庫相比,它可以明顯地處理約束和索引。它支持主索引和輔助索引,但是只有主索引用于強制唯一性。此外,它不支持外鍵約束。

Ignite還通過允許您在服務(wù)器上啟用身份驗證并在客戶端上提供用戶憑據(jù)來支持安全性。還支持SSL套接字通信,以在所有Ignite節(jié)點之間提供安全連接。

Ignite有許多用例,包括緩存系統(tǒng),系統(tǒng)工作負(fù)載加速,實時數(shù)據(jù)處理和分析。它也可以用作以圖形為中心的平臺。

4.Couchbase Server

Couchbase Server還是一個開放源代碼,分布式,NoSQL面向文檔的參與數(shù)據(jù)庫,以鍵-值格式將數(shù)據(jù)存儲為項目。它可以在Linux以及Windows和Mac OS X等其他操作系統(tǒng)上運行。它使用功能豐富的面向文檔的查詢語言N1QL,該語言提供了強大的查詢和索引服務(wù),以支持對數(shù)據(jù)的亞毫秒級操作。

它的顯著功能是具有托管緩存的快速鍵值存儲,專用索引器,強大的查詢引擎,橫向擴展體系結(jié)構(gòu)(多維擴展),大數(shù)據(jù)和SQL集成,全棧安全性和高可用性。

Couchbase Server附帶了本機多實例集群支持,其中集群管理器工具協(xié)調(diào)所有節(jié)點活動,并僅向客戶端提供集群范圍的接口。重要的是,您可以根據(jù)需要添加,刪除或替換節(jié)點,而無需停機。它還支持跨集群節(jié)點的數(shù)據(jù)復(fù)制,跨數(shù)據(jù)中心的選擇性數(shù)據(jù)復(fù)制。

它使用專用的Couchbase服務(wù)器端口,不同的身份驗證機制(使用憑據(jù)或證書),基于角色的訪問控制(以檢查每個經(jīng)過身份驗證的用戶來檢查分配給他們的系統(tǒng)定義的角色),審計,日志和會話,通過TLS實現(xiàn)安全性。

它的用例包括統(tǒng)一的編程界面,全文搜索,并行查詢處理,文檔管理和索引等等。它是專門為大型交互式Web,移動和IoT應(yīng)用程序提供低延遲數(shù)據(jù)管理而設(shè)計的。

5.Hazelcast IMDG

Hazelcast IMDG(內(nèi)存中數(shù)據(jù)網(wǎng)格)是一種開源,輕量級,快速且可擴展的內(nèi)存中數(shù)據(jù)網(wǎng)格中間件,可提供彈性可擴展的分布式內(nèi)存中計算。Hazelcast IMDG還可以在Linux,Windows和Mac OS X以及安裝了Java的任何其他平臺上運行。它支持各種靈活的語言本機數(shù)據(jù)結(jié)構(gòu),例如Map,Set,List,MultiMap,RingBuffer和HyperLogLog。

Hazelcast是對等的,支持簡單的可伸縮性,集群設(shè)置(具有用于收集統(tǒng)計信息,通過JMX協(xié)議進行監(jiān)視以及使用有用的實用程序管理集群的選項),分布式數(shù)據(jù)結(jié)構(gòu)和事件,數(shù)據(jù)分配和事務(wù)的功能。這也是冗余的,因為它可以將每個數(shù)據(jù)條目的備份保留在多個成員上。要擴展群集,只需啟動另一個實例,數(shù)據(jù)和備份就會自動且均勻地平衡。

它提供了一組有用的API來訪問群集中的CPU,以實現(xiàn)最大處理速度。它還提供了來自Java的大量開發(fā)人員友好接口的分布式實現(xiàn),例如Map,Queue,ExecutorService,Lock和JCache。

它的安全功能包括群集成員和客戶端身份驗證,以及通過基于JAAS的安全功能對客戶端操作進行訪問控制檢查。它還允許攔截客戶端執(zhí)行的套接字連接和遠程操作,集群成員之間的套接字級通信加密以及啟用SSL / TLS套接字通信。但是根據(jù)官方文檔,其中大多數(shù)安全功能都在企業(yè)版中提供。

它最流行的用例是分布式內(nèi)存中緩存和數(shù)據(jù)存儲。但是,它也可以部署用于Web會話群集,NoSQL替換,并行處理,簡單的消息傳遞等等。

6.Mcrouter

Mcrouter是一個免費的開源Memcached協(xié)議路由器,用于擴展由Facebook開發(fā)和維護的Memcached部署。它具有Memcached ASCII協(xié)議,靈活的路由,多集群支持,多級緩存,連接池,多種哈希方案,前綴路由,復(fù)制池,生產(chǎn)流量影子,在線重新配置以及目標(biāo)運行狀況監(jiān)視/自動故障轉(zhuǎn)移的功能。

此外,它支持冷緩存預(yù)熱,豐富的統(tǒng)計信息和調(diào)試命令,可靠的刪除流服務(wù)質(zhì)量,較大的值,廣播操作,并具有IPv6和SSL支持。

它已在Facebook和Instagram中用作緩存基礎(chǔ)結(jié)構(gòu)的核心組件,高峰時每秒處理近50億個請求。

7.Varnish Cache

Varnish Cache是位于Web客戶端和原始服務(wù)器之間的開源靈活,現(xiàn)代且多功能的Web應(yīng)用程序加速器。它可以在所有現(xiàn)代Linux,F(xiàn)reeBSD和Solaris(僅x86)平臺上運行。它是一個出色的緩存引擎和內(nèi)容加速器,您可以將其部署在Web服務(wù)器(如NGINX,Apache等)的前面,以偵聽默認(rèn)的HTTP端口以接收客戶端請求并將其轉(zhuǎn)發(fā)到Web服務(wù)器,并交付Web服務(wù)器響應(yīng)客戶端。

在客戶端和原始服務(wù)器之間充當(dāng)中間人的同時,Varnish Cache提供了許多好處,其基本要素是將Web內(nèi)容緩存在內(nèi)存中,以減輕Web服務(wù)器的負(fù)載并提高向客戶端的交付速度。

從客戶端收到HTTP請求后,它將請求轉(zhuǎn)發(fā)到后端Web服務(wù)器。Web服務(wù)器響應(yīng)后,Varnish將內(nèi)容緩存在內(nèi)存中,并將響應(yīng)傳遞給客戶端。當(dāng)客戶端請求相同的內(nèi)容時,Varnish將從緩存提升應(yīng)用程序響應(yīng)中為其提供服務(wù)。如果它不能提供緩存中的內(nèi)容,則將請求轉(zhuǎn)發(fā)到后端,然后將響應(yīng)緩存并傳遞給客戶端。

Varnish具有VCL(Varnish配置語言,一種靈活的域特定語言),用于配置請求的處理方式以及Varnish模塊(VMODS),它們是Varnish Cache的擴展。

在安全方面,Varnish Cache支持通過VMODS進行日志記錄,請求檢查以及限制,身份驗證和授權(quán),但它缺乏對SSL / TLS的本機支持。您可以使用Hitch或NGINX 等SSL / TLS代理為Varnish Cache 啟用HTTPS。

您還可以將Varnish Cache用作Web應(yīng)用程序防火墻,DDoS攻擊防御程序,熱鏈接保護程序,負(fù)載平衡器,集成點,單點登錄網(wǎng)關(guān),身份驗證和授權(quán)策略機制,用于不穩(wěn)定后端的快速修復(fù)程序以及HTTP請求路由器。

8.Squid Caching Proxy

Squid是另一個針對Linux的免費,開源,杰出且廣泛使用的代理和緩存解決方案。它是功能豐富的Web代理緩存服務(wù)器軟件,可為流行的網(wǎng)絡(luò)協(xié)議(包括HTTP,HTTPS和FTP)提供代理和緩存服務(wù)。它還可以在其他UNIX平臺和Windows上運行。

就像Varnish Cache一樣,它接收來自客戶端的請求并將它們傳遞到指定的后端服務(wù)器。后端服務(wù)器響應(yīng)時,會將內(nèi)容的副本存儲在緩存中,然后將其傳遞給客戶端。將來對相同內(nèi)容的請求將從緩存中得到處理,從而將內(nèi)容更快地傳遞到客戶端。因此,它可以優(yōu)化客戶端和服務(wù)器之間的數(shù)據(jù)流以提高性能,并緩存常用內(nèi)容以減少網(wǎng)絡(luò)流量并節(jié)省帶寬。

Squid具有一些功能,例如在代理服務(wù)器的相互通信的層次結(jié)構(gòu)上分配負(fù)載,生成有關(guān)Web使用模式的數(shù)據(jù)(例如,有關(guān)訪問量最大的站點的統(tǒng)計信息),使您能夠分析,捕獲,阻止,替換或修改正在代理的消息。

它還支持安全功能,例如豐富的訪問控制,授權(quán)和身份驗證,SSL / TLS支持以及活動日志記錄。

9.NGINX

NGINX(發(fā)音為Engine-X)是一種開放源代碼,高性能,功能齊全且非常流行的整合解決方案,用于設(shè)置Web基礎(chǔ)架構(gòu)。它是HTTP服務(wù)器,反向代理服務(wù)器,郵件代理服務(wù)器和通用TCP / UDP代理服務(wù)器。

NGINX提供基本的緩存功能,其中緩存的內(nèi)容存儲在磁盤上的持久性緩存中。NGINX中有關(guān)內(nèi)容緩存的有趣之處在于,當(dāng)它無法從原始服務(wù)器獲取新鮮內(nèi)容時,可以將其配置為從其緩存中傳遞陳舊的內(nèi)容。

NGINX提供了多種安全功能來保護您的Web系統(tǒng),這些功能包括SSL終止,使用HTTP基本身份驗證限制訪問,基于子請求結(jié)果的身份驗證,JWT身份驗證,限制對代理HTTP資源的訪問,按地理位置限制的訪問,以及更多。

它通常被部署為應(yīng)用程序堆棧中的反向代理,負(fù)載平衡器,SSL終結(jié)器/安全網(wǎng)關(guān),應(yīng)用程序加速器/內(nèi)容緩存和API網(wǎng)關(guān)。它還用于流媒體。

10. Apache Traffic Server

最后但并非最不重要的一點是,我們有Apache Traffic Server,這是一種開源,快速,可擴展且可擴展的緩存代理服務(wù)器,支持HTTP/1.1和HTTP/2.0。它旨在通過為企業(yè),ISP(Internet服務(wù)器提供商),骨干網(wǎng)提供商等在網(wǎng)絡(luò)邊緣緩存經(jīng)常訪問的內(nèi)容來提高網(wǎng)絡(luò)效率和性能。

它支持HTTP/HTTPS通信的正向和反向代理。它也可以配置為同時以一種或兩種模式運行。它具有持久性緩存,插件API;支持ICP(Internet緩存協(xié)議),ESI(包括邊);Keep-Alive等。

在安全性方面,Traffic Server支持控制客戶端訪問,方法是允許您配置允許使用代理緩存的客戶端,客戶端與自身之間以及自身與原始服務(wù)器之間的連接的SSL終止。它還通過插件支持身份驗證和基本授權(quán),記錄(接收到的每個請求和檢測到的每個錯誤)以及進行監(jiān)視。

Traffic Server可以用作Web代理緩存,正向代理,反向代理,透明代理,負(fù)載均衡器或在緩存層次結(jié)構(gòu)中使用。

到此,相信大家對“適用于Linux的頂級開源緩存工具有哪些”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)頁題目:適用于Linux的頂級開源緩存工具有哪些
本文URL:http://jinyejixie.com/article26/jojocg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、網(wǎng)站內(nèi)鏈商城網(wǎng)站、移動網(wǎng)站建設(shè)網(wǎng)站建設(shè)、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營
综艺| 上饶县| 林州市| 济南市| 宁阳县| 喀喇| 宁南县| 巢湖市| 海兴县| 石楼县| 兴和县| 巫山县| 茂名市| 香港 | 萍乡市| 台山市| 克山县| 聂荣县| 青田县| 普格县| 康乐县| 福州市| 肥城市| 东兰县| 日土县| 织金县| 内江市| 慈利县| 荆门市| 大庆市| 维西| 泾川县| 朔州市| 禄劝| 云林县| 八宿县| 兰溪市| 武乡县| 攀枝花市| 益阳市| 城市|