OSCache鏄綋鍓嶈繍鐢ㄦ渶騫跨殑緙撳瓨鏂規銆傚叾涓昏鐢ㄧ殑鏈騫挎硾鍔熻兘鏄紦瀛橀〉闈紝榪欓噷涓昏鏄敤鍏剁紦瀛樻枃浠跺璞°?br />
榪愮敤OScache鐨勬楠わ細
1.鍙栧緱oscache.jar 鏂囦歡鏀懼埌 /WEB-INF/lib 鎴栫浉搴旂被搴撶洰褰?鐩綍涓?br />
2.oscache.jar渚濊禆commons-collections.jar鍖呫傚鏋滀綘鐨刯dk鐗堟湰涓?.3,
寤鴻鍦╨ib涓姞鍏pache Common Lib 鐨刢ommons-collections.jar鍖呫?br />
濡俲dk鏄?.4浠ヤ笂鍒欎笉蹇呰銆?br />
3.src鏍圭洰褰曟垨鍙戝竷鐜鐨?WEB-INF/classes 鐩綍涓嬫斁鍏scache.properties銆?br />
cache.memory
鍊間負true 鎴?false 錛岄粯璁や負鍦ㄥ唴瀛樹腑浣滅紦瀛橈紝
濡傝緗負false錛岄偅cache鍙兘緙撳瓨鍒版暟鎹簱鎴栫‖鐩樹腑錛岄偅cache榪樻湁浠涔堟剰涔夛細錛?br />
cache.capacity
緙撳瓨鍏冪礌涓暟
cache.persistence.class
鎸佷箙鍖栫紦瀛樼被錛屽姝ょ被鎵撳紑錛屽垯蹇呴』璁劇疆cache.path淇℃伅
cache.cluster 鐩稿叧
涓洪泦緹よ緗俊鎭?br />
濡俢ache.cluster.multicast.ip涓哄箍鎾璉P鍦板潃
cache.cluster.properties涓洪泦緹ゅ睘鎬?br />
cache.path
紜洏鎸佷箙鍖栨椂瀛樻斁鏂囦歡鐨勭洰褰曘傚鏋滅洰褰曚笉瀛樺湪OSCache浼氳嚜鍔ㄥ垱寤恒?br />
Windows緋葷粺錛歝:\\myapp\\cache銆傚叾瀹冿細/opt/myapp/cache
cache.persistence.overflow.only*
鏄惁鍙湁褰撴寚瀹氱殑鍐呭瓨緙撳瓨宸茬粡婊℃椂鎵嶈繘琛屾寔涔呭寲銆傛帹鑽愪嬌鐢╰rue錛宖lase鏄負鍚戝悗鍏煎銆?br />
cache.unlimited.disk
紜洏緙撳瓨鏄惁鏈夐檺鍒躲傜己鐪佷負cache.capacity鎸囧畾鐨勫?br />
榪愮敤錛?br />
com.opensymphony.oscache.general.GeneralCacheAdministrator
GeneralCacheAdministrator涓昏瀵瑰疄鐜版寔涔呭寲瀵硅薄鐨勪繚瀛樹互鍙婂彇鍑虹殑鐩稿叧鐨勬搷浣溿?br />
Object getFromCache錛圫tring key錛?nbsp; //鏍規嵁key鑾峰彇緙撳瓨瀵硅薄
Object getFromCache錛圫tring key , int refreshInterval錛?/refreshInterval鏃墮棿鍐咃紝鏍規嵁key鑾峰彇緙撳瓨瀵硅薄
void putInCache(String key ,Object obj) //淇濆瓨琚紦瀛樺璞?br />
void flushAll() //鍒犻櫎鎵鏈夎緙撳瓨鐨勫璞?br />
void flushAll(Date date) //鍦ㄦ寚瀹氱殑鏃墮棿鍘誨垹闄ゆ墍鏈夎緙撳瓨鐨勫璞?br />
void cancelUpdate(String key) //鍙栨秷鏈‘瀹氱殑鏇存柊
java 浠g爜
- package com.iflytek;
-
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
-
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
-
- import com.opensymphony.oscache.base.NeedsRefreshException;
- import com.opensymphony.oscache.general.GeneralCacheAdministrator;
-
-
- public class DisplayChart extends HttpServlet {
-
-
-
-
- public DisplayChart() {
- super();
- }
-
-
-
-
-
-
- public void init() throws ServletException {
- return;
- }
-
-
- public static GeneralCacheAdministrator cacheAdmin = new GeneralCacheAdministrator();
- public void service(HttpServletRequest request,
- HttpServletResponse response)
- throws ServletException, IOException {
-
- String path = getServletContext().getRealPath("/");
- File file = null;
- SimpleDateFormat sdf= new SimpleDateFormat("hh-mm-ss");
- try {
- file = (File)cacheAdmin.getFromCache(sdf.format(new Date()));
- System.out.println("鏉ヨ嚜緙撳瓨!"+ sdf.format(new Date()));
- } catch (NeedsRefreshException e) {
- file = new File(path+"xmls\\Pipe11.xml");
- cacheAdmin.putInCache(sdf.format(new Date()), file);
- System.out.println("--緙撳瓨娌℃湁!"+sdf.format(new Date()));
- }
- sendResponse(file,response);
- return;
- }
-
-
-
-
-
-
- public void sendResponse(File file,HttpServletResponse response) throws IOException{
- BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
- BufferedOutputStream bos = new BufferedOutputStream(response.getOutputStream());
- byte[] input = new byte[1024];
- boolean eof = false;
- while (!eof) {
- int length = bis.read(input);
- if (length == -1) {
- eof = true;
- }
- else {
- bos.write(input, 0, length);
- }
- }
- bos.flush();
- bis.close();
- bos.close();
- }
-
- }
|