當前位置:首頁 » 硬碟大全 » orm有緩存嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

orm有緩存嗎

發布時間: 2023-05-24 00:02:07

⑴ orm框架怎麼實現緩存

從ORM名字中就可以看出其原理:參照知派mapping,將object轉換成sql語句,然後持滲讓久化到RDB中。 mapping記錄object與RDB(表)的映射關系;這種映射關系可以是一個xml文件或者註解。不過不同的ORM產品功能搭喊賀以及復雜度不一樣,hibernate屬於重量級,而ibatis則是輕量級。

⑵ hibernate二級緩存 和 spring整合的緩存(就是用哪個Cacheable註解的)有什麼區別么

二級緩存配置(spring+hibernate)

說明:本人不建議使用查詢緩存,因為查詢緩存要求完全相同的查詢sql語句才會起作用,所說的查詢緩存是針對第二次查詢時 sql語句與第一次sql語句完全相同 那麼就可以從緩存中取數據而不去資料庫中取數據了,在不啟用查詢緩存的情況下 每次的查詢數據也會緩存到二級緩存的 只不過每次查詢都會去查詢資料庫(不包括根據ID查詢),啟用查詢緩存很麻煩 需要每次查詢時 調用Query.setCacheable(true)方法才可以,如:List<OrgiData> orgiDatas = (List<OrgiData>) s.createQuery("from OrgiData").setCacheable(true).list();

因此建議將查詢緩存設置為如下:
hibernate.cache.use_query_cache=false

還有就是最重要的一點:對於經常修改或重要的數據不宜進行緩存,因為多並發時會造成數據不同步的情況。

首先增加ehcache-1.4.1.jar和backport-util-concurrent-3.1.jar或oscache-2.1.jar

一、spring配置

<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mappingResources">
<list>
<value>com/handpay/core/merchant/bean/MerchGroupBuy.hbm.xml
</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.SQLServerDialect
hibernate.show_sql=true
hibernate.format_sql=true
hibernate.hbm2ddl.auto=update
hibernate.cache.use_second_level_cache=true
hibernate.cache.use_query_cache=false
hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider </value>
</property>
</bean>

<!---紅色字體是二級緩存相關的設置->

二、hbm.xml文件示例

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.handpay.core.merchant.bean">
<class name="MerchGroupBuy" table="merch_group_buy">
<cache usage="read-write" region="com.handpay.core.merchant.bean.MerchGroupBuy"/>
<id name="id">
<generator class="native" />
</id>
<property name="code" />
<property name="createTime"/>
<property name="minNum"/>
<property name="status">
</property>
<property name="title"/>
<property name="typeCode"/>
<property name="updateTime"/>
</class>
</hibernate-mapping>

三、註解示例

@Entity
@Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
@Table(name = "alcor_t_countries", catalog = "alcorweb")
public class AlcorTCountries implements java.io.Serializable{。。。。}

四、配置文件參數詳解

ehcache.xml是ehcache的配置文件,並且存放在應用的classpath中。下面是對該XML文件中的一些元素及其屬性的相關說明:

<diskStore>元素:指定一個文件目錄,當EHCache把數據寫到硬碟上時,將把數據寫到這個文件目錄下。 下面的參數這樣解釋:

user.home – 用戶主目錄

user.dir – 用戶當前工作目錄

java.io.tmpdir – 默認臨時文件路徑

<defaultCache>元素:設定緩存的默認數據過期策略。

<cache>元素:設定具體的命名緩存的數據過期策略。

<cache>元素的屬性

name:緩存名稱。通常為緩存對象的類名(非嚴格標准)。

maxElementsInMemory:設置基於內存的緩存可存放對象的最大數目。

maxElementsOnDisk:設置基於硬碟的緩存可存放對象的最大數目。

eternal:如果為true,表示對象永遠不會過期,此時會忽略timeToIdleSeconds和timeToLiveSeconds屬性,默認為false;

timeToIdleSeconds: 設定允許對象處於空閑狀態的最長時間,以秒為單位。當對象自從最近一次被訪問後,如果處於空閑狀態的時間超過了timeToIdleSeconds屬性值,這個對象就會過期。當對象過期,EHCache將把它從緩存中清空。只有當eternal屬性為false,該屬性才有效。如果該屬性值為0,則表示對象可以無限期地處於空閑狀態。

timeToLiveSeconds:設定對象允許存在於緩存中的最長時間,以秒為單位。當對象自從被存放到緩存中後,如果處於緩存中的時間超過了 timeToLiveSeconds屬性值,這個對象就會過期。當對象過期,EHCache將把它從緩存中清除。只有當eternal屬性為false,該屬性才有效。如果該屬性值為0,則表示對象可以無限期地存在於緩存中。timeToLiveSeconds必須大於timeToIdleSeconds屬性,才有意義。

overflowToDisk:如果為true,表示當基於內存的緩存中的對象數目達到了maxElementsInMemory界限後,會把益出的對象寫到基於硬碟的緩存中。注意:如果緩存的對象要寫入到硬碟中的話,則該對象必須實現了Serializable介面才行。

memoryStoreEvictionPolicy:緩存對象清除策略。有三種:

1 FIFO ,first in first out ,這個是大家最熟的,先進先出,不多講了

2 LFU , Less Frequently Used ,就是上面例子中使用的策略,直白一點就是講一直以來最少被使用的。如上面所講,緩存的元素有一個hit 屬性,hit 值最小的將會被清出緩存。

2 LRU ,Least Recently Used ,最近最少使用的,緩存的元素有一個時間戳,當緩存容量滿了,而又需要騰出地方來緩存新的元素的時候,那麼現有緩存元素中時間戳離當前時間最遠的元素將被清出緩存。

五 、查看 二級緩存數據

1、使用sessionFactory直接獲取
Map cacheEntries = sessionFactory().getStatistics()
.getSecondLevelCacheStatistics("cacheRegionName")
.getEntries();

其中 cacheRegionName 既是 ehcache.xml配置中的<cache 標簽的name屬性值

2、讓log4j列印緩存信息(生成環境下請注釋掉,以免影響性能)
log4j.logger.org.hibernate.cache=debug

⑶ JDBC鏈接資料庫的方法有幾種各自的優缺點

它代表最低級別的持久性策略。本地框架各不相同,但大多數有著相似的特徵。 大多數 JDBC 解決方案把所有的數據訪問包裝在數據訪問對象中,對象中包裝有一個關系表。從那裡,您可以把數據留在結果集或者選擇把結果集中的每一行映射到一個對象。Java 技術開發人員傾向於映射到輕值對象(light value objects)。一個特殊的替代方案是 Martin Fowler 的有效記錄設計模式,這種設計模式提供針對數據表中行的包裝程序。每一個有效記錄都有訪問每一列的方法,以及保存、刪除或更新行的方法。 長處 基於JDBC 的解決方案提供良好的控制能力。您要寫更多的代碼來解決預料中的問題,但是您有訪問資料庫的所有權利,並且可以讓它只做您想要它做的事。純 JDBC 給予您非常好的靈活性。 弱點 關系資料庫和對象並不是一回事 —— 這里有一點分歧。您不得不處理一些面向對象的概念,如繼承。您還必須自己管理每一個對象,寫查詢程序來完成創建、讀取、更新或刪除操作。如果要提升性能,需要提供您自己的緩存。 總結 對於那些技術不好但了解 SQL 的 Java 程序員來說,JDBC 是一個很好的選擇。如果您需要更好的訪問 SQL 或者在進行批處理計算或報告,那麼 JDBC 也能勝任。 變種 有幾個框架和工具可以幫助您擴展 JDBC。一些工具,像 Velocity 和 MiddleGen,會生成數據訪問對象,給出資料庫表的描述。Spring 提供依賴注入和面向方面的編程,這使得服務和依賴關系的集成更加容易。但是總得來說,應用程序結構和策略應該保持一致。 對象關系映射程序 OOP 和關系資料庫基於根本不同的基礎。通常,很難把兩者混合起來。如果您有一個現有的關系模式或一個可能頻繁改變的關系模式,那麼 ORM 框架也許正是您需要的。大多數的 ORM 試圖讓您透明地處理對象。您提供一個 POJO,然後,通過使用代碼生成(EJB)、位元組碼操縱(JDO)或反射(Hibernate),框架與持久性相關聯。每種技術都有它的長處和弱點,因此大多數的框架使用多種方法來完成工作。 您需要告訴應用程序如何映射資料庫表到應用程序的類。您可以用一個獨立的 XML 文件或程序代碼中的注釋來達到目的。這些注釋可以採取 Java 5 注釋的形式(使用 XDoclet 之類的工具)。如果模式和對象模型不會走到一起,我一般會將代碼和配置文件分離。 持久性框架讓您從資料庫載入一系列的對象。您可以顯示它們,或操縱它們並把它們存回到關系資料庫。大多數的 ORM 框架提供擴展,比如兩級緩存。一般來說,第一級緩存保證事務的完整性,第二級保證跨集群中機器的一致性。盡管有多種實現,但是您應該准確理解緩存策略。 您需要用於管理配置和依賴性的策略。您的應用程序可能需要選擇一個事務策略並使用數據源和連接池。正如在前面的章節中所學到的那樣,Spring 和 ORM 能很好地為您處理這些問題。這里有一些可用的 ORM。 EJB 企業級 JavaBean 提供兩種標准化的持久性策略,EJB 1.x 標准 和 2.x 標准。第二個標准做的更好,但仍然過於復雜。EJB 專家組承認這一事實並將提供第三個標准,即 EJB 3 JSR;但是該標准將對所有的 Java Enterprise Edition (JEE) 用戶可用,不僅僅是對 EJB 用戶可用。因此,EJB 持久性標准實際上是一條死路,因為新的應用程序想要目標方案接近期望的 JSR 220 標准。 Hibernate Hibernate 很快變成了持久性的事實上的標准。它快速,有效,而且是免費的。因為 Hibernate 讓您制定任意的 POJO 持久性,所以它必須有一種方法把持久性關聯到一個對象而不必改動代碼。Hibernate 主要通過反射來提供透明性,但是它通過動態代理混合在一些運行時位元組碼操縱中。使用反射,Hibernate 可以在事務完成前後查看對象的狀態。如果狀態發生改變,Hibernate 可以把它保存到資料庫中。代理幫助 Hibernate 實現一些其他的特性,比如懶散載入(lazy loading)。(把動態代理想像成一個坐在目標對象前面的對象,它有一個與目標對象相同的介面。每當您調用某些方法或訪問實例變數時,代理都可以自由地調用持久層。) Hibernate 僅支持關系資料庫,而且它與 SQL 結合的緊密程度比大多數其他的持久性框架要高。Hibernate 使用類似於 SQL 的查詢語言,這種相似性對用戶的幫助很大。如果需要,您也可以在 Hibernate 中直接使用 SQL。 像JDO 一樣,Hibernate 擁有兩級緩存。第一級緩存叫做會話,給您一個存放持久性對象的地方。您可以把對象載入緩存並操縱它們。然後決定何時通過在會話上調用刷新(flush)或提交(commit)來將更改持久存儲到資料庫中。 Hibernate 幫助您管理關系。如果您定義一個關系,比如雇員屬於部門,Hibernate 將對其進行管理。如果您載入一個部門的信息,您可以決定是在載入一個部門時載入所有的雇員信息(熱切載入),還是等待載入雇員信息(懶散載入)。 長處 Hibernate 有一個靈活的映射機制。一些場景比其他場景付出更多的努力來映射,但是如果您能在一個關系模式中表示它,那麼也許在 Hibernate 中有一種方法來映射到它。Hibernate 的性能比大多數的框架要好而且還在不斷提升。文檔很優秀,收購 JBoss 後,支持也在改善。JBoss 小組也把 Hibernate 放置在一個合適的位置以搶在競爭者之前實現 JSR 200 持久性標准。 對Hibernate 來說,與其他開放源碼框架和商業框架的集成比其他的替代框架要好。一般來說,Spring 與 Hibernate 的集成比與其他任何一個持久性框架的集成要好。 Hibernate 是一個創新的框架。在推動與 SQL 的集成上,它比大多數其他的框架走的更遠。它具有一些其他框架不支持的特性,比如會話過濾。還有一支強大的公共和商業開發人員團隊為其工作。 弱點 如果您是一家大公司,那麼您可能要用不支付許可費來彌補支持上的欠缺。Hibernate 比替代框架更加難以管理。例如,您沒有 SolarMetric 的 Kodo JDO 產品提供的豐富的管理控制台。您也沒有 Versant 的 JDP 產品提供的豐富的用戶界面工具。 最後,Hibernate 不像一些持久性框架那麼專業。例如,對於一些邊緣情況,比如管理懶散載入,Kodo JDO 有非常好的錯誤信息和更加可預測的行為。 JDO 如果您想要帶持久性框架的 Betamax,JDO 1.x 就足夠了 —— 雖然時運似乎在轉向 JDO 2,更不用說 JSR 220 持久性標准了。在過去三年左右的時間里,最好的技術持久性框架來自 JDO 社區。JDO 通過位元組碼增強機制實現了透明性。JDO 2 多少會放鬆這個限制。 JDO 提供一種叫做 JDO QL 的查詢語言。對緩存和提取定義了懶散/熱切提取場景的組(可以在每次查詢的基礎上定義這樣的場景),它有正式的性能擴展。JDO 還為分離式處理(detached processing)提供一個模型,以便您能夠從一個 JDO 會話(叫做 PersistenceManager)分離一個對象,改變並重新附加該對象。然後資料庫應用所有更改。 JDO 還為任意的數據存儲提供透明的持久性。在現實世界中,大多數的數據是非關系型的,JDO 自己就能很好地為該社區提供解決方案。 長處 JDO 的各種供應商各有長處。Kodo 產品在需要極限持久性場景的利基市場賣得很好。Kodo 執行快速,並得到廣泛的認同:它對任何一個 JDO 產品都有最好的映射支持。(我要說,就現在來看,它的映射支持是業界最好的。)Kodo 還在可管理性方面領先。(Versant 產品也有著非常快的速度。)顯然,它的最大優點是針對映射支持的用戶界面。 弱點 對JDO 弱點的任何處理都必須從市場份額開始。作為一個標准,JDO 應當得到更好的保護,但是到目前為止,這個標准並不是非常成功。具有諷刺意味的是,JSR 220 持久性標準的出現很可能會對 JDO 造成打擊。許多 JDO 供應商已經宣布在他們的產品中支持 JSR 220。您將會看到一個更強大的標准,而且好的 JDO 供應商將能夠在那些市場中佔有一席之地。JSR 220 標准將會開放,而且新的標准將從那裡快速產生,您將會看到顧客使用同樣的標准來嘗試 JDO。由於疲弱的市場表現, JDO 需要在開放源碼社區中更好地表現。Versant 向 Eclipse 小組捐贈它的產品是在正確的方向上前進了一步。 其他 Top Link、OJB 和 Cayenne 正在追趕 Hibernate,但是它們不可能趕上了(出於許多因素)。在接下來的幾期文章中,我將用其他的語言如 Ruby 或 Python 來探索幾個框架。 混合解決方案 本文將在介紹完一種混合解決方案後結束。大多數的 ORM 解決方案把一個類映射到一個關系資料庫模式,而諸如 iBATIS 之類的混合框架則把類映射到一個 SQL 查詢的結果。 對於iBATIS,您提供一個 XML 文件,它指定查詢和從那些查詢到對象的映射。您能得到 ORM 的一些好處,比如一致緩存策略、獨立於代碼庫的 SQL 和限定的關系管理。 長處 iBATIS 還有一些 ORM 框架沒有的優點。您有對 SQL 的嚴格控制的權利,不必擔心對象/關系的不匹配,也不必投入幾個月來學習一個對象/關系映射框架。 弱點 iBATIS 不會給予您 ORM 所做的一切。您需要編碼查詢來完成每一次的資料庫訪問,而不是您自己來完成訪問。與資料庫的結合更加緊密。並依靠您選擇的 SQL 方言。

⑷ java後端技術有哪些

看下Java課程的大綱:

一、JavaSE基礎

1.1、J2SE

JAVA 開發基礎知識 | Eclipse 開發環境 | J2SE 5.0 API | J2SE 8.0新特性 | 多線程技術 | Socket 網路技術
|

Regular Expression | Java反射技術 | Properties技術 | 各種實戰設計模式| Java Debug技術 |
面向對象設

計原則詳解 | 實例解決面向對象設計 | 面試題內部詳解 | 面試答題技巧詳解 | AWT/SWING技術

1.2、實戰數據結構

數據結構實戰訓練 | 數組、鏈表等常用數據結構實戰

1.3、正則表達式

正則表達式基本語法。預搜索、斷言、分組。 JAVA操作正則表達式Matcher/Pattern

1.4、反射機制

JAVA的動態性、Reflection技術、JVM類載入器、Class對象、Method等。

1.5、CHAT項目

Chat項目通過完成一個模擬的在線聊天系統,主要鍛煉大家對於TCP/IP、Socket編程、C/S模式的編程、線程的運用等方面的能力。

1.6、坦克大戰單機版/圖片版/網路版

這三個項目通過大家喜聞樂見的小游戲的形式來鍛煉大家對於JavaSE綜合運用的能力,並且能夠初步運用面向對象的編程理念,鍛煉初步的設計能力,並基本掌握多線程的編程。

二、Java Web開發

2.1、資料庫技術

Oracle 基礎管理;SQL 語言PL/SQL
語言;觸發器、存儲過程;MySQL,SQLServer簡介;業界常見問題設計;資料庫表的設計範式;數據備份與移植;多表連接難題詳解;嵌入式資料庫應用;

2.2、JDBC技術

JDBC基礎; 連接池技術;使用設計模式開發連接池;詳細擴展與測試池效率;

2.3、HTML4 & CSS & JavaScript

HTML 語言;CSS 語言; JavaScript 語言;JS常用模版;後台管理模版; DOM; JS操作CSS; JS操作DOM;
ECMAScript; JS操作DIV;protoype;js基於對象編程; ;Firefox和firebug調試技術;

2.4、Bootstrap

前端css框架,讓我們的學生不會美工也能做出漂亮的頁面;

2.5、Jquery

Jquery基本技術;Jquery使用插件;

2.6、Http協議深入

使用HttpWatcher深入理解協議內部機制;

2.7、JSTL標簽庫

JSTL核心標簽庫,JSTL函數標簽庫、JSTL格式化標簽庫,JSTL之XML解析標簽庫、自定義標簽技術;

2.8、JSP & Servlet

Servlet 技術;JSP 技術; JSTL Tag Library 技術; Filter&Listener技術; 報表系統;
FileUploading; Tomcat 伺服器技術;servlet 過濾器和AOP編程;servlet監聽器;

2.9、SCM技術

CVS初步;SVN簡介;

2.10、Java Web實戰演練

綜合運用所學知識; HTML + CSS + JS; JSP + Servlet + JavaBean; FileUploading; 分頁技術;
數據校驗; MVC初步; Filter; Listener;

2.11、XML 技術

XML + XSL + DTD/Schema;XML數據解析; XML應用詳解;XQUERY技術;CAST技術(XML數據和對象互轉);

2.12、AJAX技術

AJAX技術基礎; AJAX技術框架; AJAX技術調試技巧;

2.13、項目實戰

《基於servlet/JSP技術的電子商務網站》、《基於AJax和Jquery的BBS論壇系統》、《基於Apache Commons
FileUpload的網路硬碟系統》

三、主流框架技術及項目實戰

3.1、流行Web 框架簡介

Struts2/spring4.x/hibernate4.x/spring mvc / WebWork /mybatis等簡介

3.2、MVC 模式

Model View Controller 模式深入

3.3、SpringMVC

springmvc概述; springmvc的開發流程;springmvc基本配置; springmvc的註解開發; 常用註解;
service,control,reposity,reques+mapping,responseboby等

3.4、Struts2.x

Struts2的基本開發流程;action類的三種實現方法; XML配置的幾種方法; Struts2國際化支持; Struts2異常處理;
Struts2的驗證框架; Struts2的多模塊配置;攔截器;

3.5、Hibernate4.x

Hibernate基本開發流程; ORM簡介; 模擬SQL語句的自動生成; hibernate的檢索; 性能優化 一級緩存 二級緩存 查詢緩存 事務與並發
悲觀鎖、樂觀鎖

3.6、Spring4.x

簡單工廠模式 ;抽象工廠; 工廠方法模式; Spring3簡介; Spring的基本開發流程; IOC、DI; Bean的配置;
SSH框架的整合;Spring的註解開發; Spring AOP開發 代理模式 靜態代理、動態代理、CGLIB;

3.7、Mybatis

Mybatis簡介; Mybatis的開發流程; 配置文件 ;映射文件; 面向介面的Mybatis開發;

3.8、手工編寫實戰開發 struts2.x框架

親自動手開發struts2.x框架,融入設計模式,讓大家的對struts的核心機制爛熟於胸!

3.9、手工編寫實戰開發 Hibernate4.x框架

芯學苑名師親自帶領你開發hibernate框架,讓你真正將ORM框架理解透徹!

3.10、手工編寫實戰開發mybatis框架

完成另一個ORM框架mybatis的開發工作!

3.11、手工編寫實戰開發 Spring 4.x框架

Spring是最著名的框架之一!也是業界應用范圍非常廣泛的框架!是否對其核心機制有透徹了解,往往是高薪的關鍵!因此,芯學苑名師帶領你完成spring框架核心機制的開發。當別人還在探討如何使用spring時,你已經更上層樓!

3.12、項目實戰

《基於struts2+spring+mybatis的電子政務系統》、《基於spring MVC+hibernate的在線考試系統》

⑸ Java前提下, MySQL資料庫,一次性存儲大量數據導致內存溢出

內存溢出導致程序崩潰,也分是java層崩了,還是mysql崩了。
如果是java層崩了,注意不要一次性載入太多的數據到內存,並且不在使用的數據要徹底放棄引用關系。java雖然是自動回收,回收的原則就是一個對象不再被持有,即引用計數為零。如果數據太大,可考慮臨時文件。
如果是mysql崩了,首先增加配置緩存。一般來說mysql是不容易崩的,特別是插入操作的時候。查詢的時候如果查詢結果記錄集特別大,會導致一個查詢需要使用很大的內存空間,這種是有問題的。而插入操作都是一條一條的執行,不會導致大內存的使用。

如果僅僅是數據移植,也盡量不要用ORM框架,比如hibernate,mybatis這些東西,因為他們都有自己的緩存,直接使用JDBC比較好。

⑹ net現行最常用的的ORM 框架是哪些

分布式緩存框架:
Microsoft Velocity:微軟自家分布式緩存服務框架。
Memcahed:一套分布式的高速緩存系統,目前被許多網站使用以提升網站的訪問速度。
Redis:是一個高性能的KV資料庫。 它的出現很大程度補償了Memcached在棚答銀某些方面的不足。
EnyimMemcached:訪問Memcached最優秀的.NET客戶鏈宴端,舉穗集成不錯的分布式均衡演算法。
開源的.NET系統推薦:
OXITE:微軟ASP.NET MVC案例演示框架。
PetShop:微軟ASP.NET寵物商店。
Orchard:國外一個MVC開源的博客系統。
SSCLI:微軟在NET Framework 2.0時代的開源代碼。
DasBlog:國外一個基於ASP.NET的博客系統。
BlogEngine.NET:國外一款免費開源的博客系統。
Dotnetnuke.NET:一套非常優秀的基於ASP.NET的開源門戶網站程序。
Discuz.NET:國內開源的論壇社區系統。

⑺ java有哪些簡潔的ORM框架

java簡潔的ROM框架太多了,並且每天都在更新迭渣彎斗代,從一下幾方面總結。

1、整如磨合資料庫的orm框架:Mybatis(batis)、Hibernate、Jpa、Jdo等。

2、緩存以及分布式緩存:Ecache、Memcached、Redis等。

3、web框架:WebWok、Struts2、SpringMvc等。

4、遠程調用的相關的服務框架:bbo、webService等。

4、其他大大小小,在鬧此各領域發揮的有很多,如日誌處理Log4J、sj4j,xml處理dom4j等等數不勝數。

⑻ nodejs orm redis怎麼做緩存

Nodejs可以使用redis緩存。 Redis資料庫採用極簡的設計思想,最新版的源碼包還不到2Mb。其在使用上也有別於一般的資料庫。 node_redis redis驅動程序多使用 node_redis此模塊可搭載官方的 hiredis C 語言庫 - 同樣是非阻塞的