oscache緩存對象
1. Hibernate跟 OsCache的使用怎麼解決
1.導入oscache包。
2.sessionFactory結點中加入屬性:
<prop key="hibernate.cache.use_second_level_cache">true</prop> 這個屬性伍襪默認是true的
<prop key="hibernate.cache.provider_class">org.hibernate.cache.OSCacheProvider</prop>
3.src下面添加文件oscache.properies
4.
(方式一)
在要實現緩存的映射文件中加入
<cache usage="read-only"/>腔拿激
read-only:只在讀取的時候使用二級緩存
read-write:在讀取和寫入的時候使用二級緩存,可以保證並發的正確性
nonstrict-read-write:非嚴格的讀寫,很少有並發出現,或者並發時讀寫到失效的數據也沒關系時使用敏此
transactional:oscache不支持
(方式二)
在配置文件中為每個要使用二級緩存的對象加入
<class-cache class="包路徑" useage="read-only"/>
2. java緩存框架有哪些意義
OSCache OSCache
OSCache OSCache是個一個廣泛採用的高性能的J2EE緩存框架,OSCache能用於任何Java應用程序的咐洞普通的緩存解決方案。 OSCache有以下特點:緩存任何對象,你可以不受限攔簡鄭制的緩存部分jsp頁面或HTTP請求,任何java對象都可以緩存。擁有全面的API--OSCache API給你全面的程序來控制所有的OSCache特性簡頌。
3. 2016 java緩存技術有哪些啊
(1100) (0)
一、什麼是緩存
1、Cache是高速緩沖存儲器 一種特殊的存儲器子系統,其中復制了頻繁使用的數據以利於快速訪問
2、凡是位於速度相差較大的兩種硬體/軟體之間的,用於協調兩者數據傳輸速度差異的結構,均可稱之為 Cache
二、緩存的分類
1、基於web應用的系統架構圖
2、在系統架構的不同層級之間,為了加快訪問速度,都可以存在緩存
操作系統磁碟緩存->減少磁碟機械操作
資料庫緩存->減少文件系統I/O
應用程序緩存->減少對資料庫的查詢
Web伺服器緩存->減少應用伺服器請求
客戶端瀏覽器緩存->減少對網站的訪問
三、操作系統緩存
1、文件系統提供的Disk Cache:操作系統會把經常訪問到的文件內容放入到內存當中,由文件系統來管理
2、當應用程序通過文件系統訪問磁碟文件的時候,操作系統從Disk Cache當中讀取文件內容,加速了文件讀取速度
3、Disk Cache由操作系統來自動管理,一般不用人工干預,但應當保證物理內存充足,以便於操作系統可以使用盡量多的內存充當Disk Cache,加速文件讀取速度
4、特殊的應用程序對文件系統Disk Cache有很高的要求,會繞開文件系統Disk Cache,直接訪問磁碟分區,自己實現Disk
5、Cache策略
Oracle的raw device(裸設備) – 直接拋棄文件系統
MySQL的InnoDB: innodb_flush_method = O_DIRECT
四、資料庫緩存
1、重要性
資料庫通常是企業應用系統最核心的部分
資料庫保存的數據量通常非常龐大
資料庫查詢操作通常很頻繁,有時還很復雜
以上原因造成資料庫查詢會引起非常頻繁的磁碟I/O讀取操作,迫使CPU掛起等待,資料庫性能極度低下
2、緩存策略
a、Query Cache
以SQL作為key值緩存查詢結果集
一旦查詢涉及的表記錄被修改,緩存就會被自動刪除
設置合適的Query Cache會極大提高資料庫性能
Query Cache並非越大越好,過大的Qquery Cache會浪費內存。
MySQL: query_cache_size= 128M
b、Data Buffer
data buffer是資料庫數據在內存中的容器
data buffer的命中率直接決定了資料庫的性能
data buffer越大越好,多多益善
MySQL的InnoDB buffer:innodb_buffer_pool_size = 2G
MySQL建議buffer pool開大到伺服器物理內存60-80%
五、應用程序緩存
1、對象緩存
由O/R Mapping框架例如Hibernate提供,透明性訪問,細顆粒度緩存資料庫查詢結果,無需業務代碼顯式編程,是最省事的緩存策略
當軟體結構按照O/R Mapping框架的要求進行針對性設計,使用對象緩存將會極大降低Web系統對於資料庫的訪問請求
良好的設計資料庫結構和利用對象緩存,能夠提供極高的性能,對象緩存適合OLTP(聯機事務處理)應用
2、查詢緩存
對資料庫查詢結果集進行緩存,類似資料庫的Query Cache
適用於一些耗時,但是時效性要求比較低的場景。查詢緩存和對象緩存適用的場景不一樣,是互為補充的
當查詢結果集涉及的表記錄被修改以後,需要注意清理緩存
3、頁面緩存
a、作用
針對頁面的緩存技術不但可以減輕資料庫伺服器壓力,還可以減輕應用伺服器壓力
好的頁面緩存可以極大提高頁面渲染速度
頁面緩存的難點在於如何清理過期的緩存
b、分類
I、動態頁面靜態化
利用模板技術將訪問過一次的動態頁面生成靜態html,同時修改頁面鏈接,下一次請求直接訪問靜態鏈接頁面
動態頁面靜態化技術的廣泛應用於互聯網CMS/新聞類Web應用,但也有BBS應用使用該技術,例如Discuz!
無法進行許可權驗證,無法顯示個性化信息
可以使用AJAX請求彌補動態頁面靜態化的某些缺點
II、Servlet緩存
針對URL訪問返回的頁面結果進行緩存,適用於粗粒度的頁面緩存,例如新聞發布
可以進行許可權的檢查
OScache提供了簡單的Servlet緩存(通過web.xml中的配置)
也可以自己編程實現Servlet緩存
III、頁面內部緩存
針對動態頁面的局部片斷內容進行緩存,適用於一些個性化但不經常更新的頁面(例如博客)
OSCache提供了簡單的頁面緩存
可以自行擴展JSP Tag實現頁面局部緩存
六、web伺服器端緩存
基於代理伺服器模式的Web伺服器端緩存,如squid/nginx
Web伺服器緩存技術被用來實現CDN(內容分發網路 content delivery network)
被國內主流門戶網站大量採用
不需要編程,但僅限於新聞發布類網站,頁面實時性要求不高
七、基於ajax的瀏覽器緩存
使用AJAX調用的時候,將資料庫在瀏覽器端緩存
只要不離開當前頁面,不刷新當前頁面,就可以直接讀取緩存數據
只適用於使用AJAX技術的頁面
4. Hibernate中Session什麼意思
Hibernate中Session 是Hibernate中的緩存對象 用此session操作資料庫後會緩存返回的結果在session裡面 當你再次操作資料庫的時候 如果session緩存裡面有相應的值 則不用去與資料庫交互直接返回結果
servlet 中的Session 也是緩存 其緩存你與伺服器對話時候的一些信息
總之所有的session基本都是起緩存作用的 就是把一些信息緩存在內存中 方便存取值
但是不同的session是不能相互直接賦值的 因為是兩個不同的概念 只是名字一樣
名字一樣也是為了幫助程序員理解 學了servlet的session 後再遇到session也就應該是緩存作用的
不知道我的回答你滿意不
5. java緩存技術有哪些
1、OSCache
OSCache是個一個廣泛採用的高性能的J2EE緩存框架,OSCache能用於任何java應用程序的普通的緩存解決方案。
OSCache有以下特點:
(1)緩存任何對象,你可以不受限制的緩存部分jsp頁面或HTTP請求,任何java對象都可以緩存。
永久緩存--緩存能隨意的寫入硬碟,因此答應昂貴的創建(eXPensive-to-create)數據來保持緩存,甚至能讓應用重啟。
(2)支持集群--集群緩存數據能被單個的進行參數配置,不需要修改代碼。
緩存記錄的過期--你可以有最大限度的控制緩存對象的過期,包括可插入式的刷新策略(假如默認性能不需要時)。
2、Java Caching System
JSC(Java Caching System)是一個用分布式的緩存系統,是基於伺服器的java應用程序。它是通過提供治理各種動態緩存數據來加速動態web應用。
JCS和其他緩存系統一樣,也是一個用於高速讀取,低速寫入的應用程序。
動態內容和報表系統能夠獲得更好的性能。
假如一個網站,有重復的網站結構,使用間歇性更新方式的資料庫(而不是連續不斷的更新資料庫),被重復搜索出相同結果的,就能夠通過執行緩存方式改進其性能和伸縮性。
3、EHCache
EHCache 是一個純java的在進程中的緩存,它具有以下特性:快速,簡單,為Hibernate2.1充當可插入的緩存,最小的依靠性,全面的文檔和測試。
4、JCache
JCache是個開源程序,正在努力成為JSR-107開源規范,JSR-107規范已經很多年沒改變了。這個版本仍然是構建在最初的功能定義上。
5、ShiftOne
ShiftOne Java Object Cache是一個執行一系列嚴格的對象緩存策略的Java lib,就像一個輕量級的配置緩存工作狀態的框架。
6、SwarmCache
SwarmCache是一個簡單且有效的分布式緩存,它使用ip multicast與同一個區域網的其他主機進
行通訊,是非凡為集群和數據驅動web應用程序而設計的。
SwarmCache能夠讓典型的讀操作大大超過寫操作的這類應用提供更好的性能支持。
SwarmCache使用JavaGroups來治理從屬關系和分布式緩存的通訊。
(5)oscache緩存對象擴展閱讀
Java中緩存存在的原因:
一 般情況下,一個網站,或者一個應用,它的一般形式是,瀏覽器請求應用伺服器,應用伺服器做一堆計算後再請求資料庫,資料庫收到請求後再作一堆計算後把數據 返回給應用伺服器。
應用伺服器再作一堆計算後把數據返回給瀏覽器,這個是一個標准流程。但是隨著互連網的普及,上網的人越來越多,網上的信息量也越來越多。
資料庫每秒中接受請求的次數也是有限的,如果利用有限的資源來提供盡可能大的吞吐量呢。一個辦法:減少計算量,縮短請求流程(減少網路io或者硬碟io),這時候緩存就可以大展手腳了。
緩存的基本原理就是打破上圖中所描繪的標准流程,在這個標准流程中,任何 一個環節都可以被切斷.請求可以從緩存里取到數據直接返回。
6. 請問OSCache會自動清除過期的緩存對象嗎
會的 但是你都要要自己設置
7. tomcat 集群用什麼緩存更好,oscache或memcache
你說的OSCache是進程級緩存,說白了就是利用JVM本身的內存來保存一些對象.
Memcache是利用別的機器的緩存,利用網路來溝通.
個人建議是看你的應用了.
OScache本身提供了廣播和JMS等方式來進行緩存失效通知,這種方式的問題就是....
A和B兩殲大個Tomcat,A機里的一個KEY被更舉慧新了,通知了B,B把這個KEY失效了...結果就是B不能享用到A已經做過的事...還要再從資料庫或者其他地方重新讀取數據放到緩存.
如果這個操作很費資源那就不合算了.
Memcache可以避免這個問題,但同時也產生另正改答外的問題.由於memcache是由網路來溝通的,所以存在著序例化和反序例化還有網路IO等操作的時間.所以讀取單個KEY時會比從OScache里拿要慢一些.
8. 如何使用OSCache實現對象的緩存
分頁自己做吧,根據使用資料庫的不同,租高分弊沒尺頁方式也不同,也就是取某個區間的數據。ibatis自帶的分頁方法在最新版本里已經廢除了察斗。
9. EhCache、OsCache、JBossCache性能上的差別:
在開發高並發量,高性唯改歷能的網站應用系統時,緩存Cache起到了非常重要的作用。本文主要介紹EHCache的使用,以及使用EHCache的實踐經驗。筆者使用過多種基於Java的開源Cache組件,其中包括OSCache、JBossCache、EHCache。OSCache功能強大,使用靈活,可用於對象緩存、Filter緩存以及在JSP中直接使用cache標簽。筆者在最近的使用過程中發現,在並發量較高時,OSCache會出現線程阻塞和數據錯誤,通過分析源代碼發現是其內部實現的缺陷。JBossCache最大的優點是支持基於對象屬性的集群同步,不過JBossCache的配置使用都較復雜,在並發量較指搜高的情況下,對象屬性數據在集群中同步也會加大系統的開銷。以上兩種Cache本文僅作簡單介紹,不做深入探討。EHCache是來自sourceforge(通過manager可以生成指定名稱的Cache對象Cachecache=cache=manager.getCache("demoCache");//使用manager移除指定名稱的Cache對象manager.removeCache("demoCache");可以通過調用manager.removalAll()來移除所有的Cache。通過調用manager的shutdown()方法可以關閉CacheManager。有了Cache對象之後就可以進行一些基本的Cache操作,例如://往cache中添加元素Elementelement=newElement("key","value");cache.put(element);//從cache中取回元素Elementelement=cache.get("key");element.getValue();//從Cache中移除一個元素cache.remove("key");可以直接使用上面殲銷的API進行數據對象的緩存,這里需要注意的是對於緩存的對象都是必須可序列化的。在下面的篇幅中筆者還會介紹EHCache和Spring、Hibernate的整合使用。
10. java現在開源的緩存框架那個最好!
mvnForum 點擊次數:7210
mvnForum是基於javaJ2EE 技術(Jsp/Servlet)的一個開源論壇.,安裝簡單。mvnForum兼容任何Servlet容器,支持Jsp 1.2 and Servlet 2.3。
JForum 點擊次數:6633
JForum 是一個功能強大 ,易於管理的論壇。它的設計完全遵從MVC設計模式,能夠在任何Servlet容器與EJB伺服器上運行。而且可以輕松的定製與擴展JForum論壇。
xforum 點擊次數:7789
國人開發的一個開源論壇,基於 Struts 技術,是學習 Struts 的一個非常好的範例。它用到 JAAS 實現 Security ,中文問題的解決,數據層用到 DAO ,以及基於 Struts 應用的基本架構,都是個非常好的學習。
jGossip 點擊次數:2583
jGossip是一個簡單,功能強大的java論壇。可運用j2EE在平台上。採用Struts framework技術。
FreeForums 點擊次數:2164
一個基於XML的Java2企業級的論壇解決方案。FreeForums頁面採用CSS, DHTML 與JavaScript等技術。這樣用戶可以定製自已喜歡的界面。它還提供一個在Windows下的客戶端程序。
Sk Forum 點擊次數:1549
SK Forum是一個開源的基於web的J2EE論壇應用程序。它是一個功能比較齊全的系統,包括很多功能比如:投票,wiki,定時跟蹤,地址薄,好友薄以及其它一些小的功能。
JsForum 點擊次數:1488
JsForum是只用到jsp與Servlet技術的論壇,容易使用。具有一般論壇的功能。但是目前只能支持MYSQL資料庫。
nemesis-forum 點擊次數:1197
一個使用J2EE技術的論壇。它的功能包括用戶與用戶組許可權管理,支持i18n,內容過濾,綜合搜索引擎,支持多種資料庫。
Yazd 點擊次數:1499
Yazd是一個使用JDBC連接資料庫的論壇。它的特性包括:
1.提供在線安裝和配置。
2.內容過濾(把Html代碼轉換成可顯示的文件,自定義關鍵字過濾列表,隱藏urls的實現路徑)。
3.集成Lucene1.3提供關鍵字搜索功能。
4.支持的資料庫包括:Oracle,MySQL,DB2,Microsoft SQLServer,Sybase,Interbase,Hypersonic SQL,Pointbase,Informix和Postgres
5.還有其它一些一個論壇應具備的基本功能。
這個論壇提供多語言支持其中包括簡體中文。
JavaBB 點擊次數:2275
JavaBB基於java技術的類似於phpbb的論壇。
JForumFusion 點擊次數:2295
JForumFusion是一個Java開源論壇。它主要的一些功能包括常規論壇功能,文件附件上傳,個人信息,基於web的管理工具,UBBCode,和高性能的搜索引擎等。支持主流資料庫包括:Oracle, DB2, MySQL, PostgreSQL, Sybase, SAP DB, HypersonicSQL, Microsoft SQL Server...
jzForum 點擊次數:1745
這是一個利用Java開發的簡單論壇.以下列出它的幾點特性:
* 完全支持BBCode,
* 在新貼提交時利用AJAX技術提供無刷新頁面預覽功能.
* 利用lucene提供全文本搜索功能.
* 用戶可監控主題.
* 可以容易更改樣式(利用CSS幾乎沒有用到table).
* 安裝簡單只有一個war文件沒有資料庫(其實是內嵌hypersonic資料庫)但 也支持其它資料庫.
* 包括一個投票系統.
* jzForum還提供RSS閱讀功能並利用緩存技術提高整個論壇的速度.
BBS-CS 點擊次數:4336
天乙社區是一套基於JAVA技術的網路虛擬社區,採用了Hibernate+Spring+Struts的輕量級J2EE框架.
1、全文檢索:天乙社區6.0採用Lucene全文檢索,並支持完全國際化多語言的全文檢索。
2、MVC框架:天乙社區6.0繼續了5.x的Struts框架,但經過優化,WEB端更加簡潔高效。
3、集群支持:系統可以運行在集群上。
4、功能方面:大大加強了管理功能,用戶可以多樣化的定製系統的各項信息,包括用戶級別、封鎖IP、過濾字等等,論壇功能上主要增加了投票帖、上傳附件類型多樣、帖子中顯示用戶信息等等功能等。
EasyJF 點擊次數:650
簡易java框架開源論壇系統擁有常用論壇系統的基本功能,集前台後台代碼為一體,支持UBB。該論壇系統使用基於OO的方法設計,採用多層B/S構架,資料庫持久層主要使用簡易資料庫開源框架EasyDBO,Web層使用EasyJWeb框架,java代碼與頁面完全分離,易擴展。