ibatis OSCACHE 快取問題

2021-08-30 18:49:04 字數 1469 閱讀 4236

我今天測試了一下ibatis oscache快取問題,在測試過程中一直報 no cache entry exists for key='-663355165|24887190', creating

找不到實體物件,哪位高手指點一下,我把配置的**發一下

這是 下面為person pojo實體物件

public class person implements serializable

public void setid(long id)

public string getname()

public void setname(string name)

public string getinfo()

public void setinfo(string info)

public byte getinfo_blob()

public void setinfo_blob(byte info_blob)

public boolean equals(object obj)

if (!(obj instanceof person))

person u = (person) obj;

if (u.getid() != null && getid() != null)

return u.getid().equals(getid());

return super.equals(obj);

}public int hashcode()

return super.hashcode();}}

對應的對映檔案 sqlmap_person.xml

<?xml version="1.0" encoding="utf-8"?>

<?xml-stylesheet type="text/xsl" href="specialdb.xslt"?>

select * from person

select * from person where id=#id#

update person set info_blob = #info_blob#

insert into person(name,info,info_blob) values(#name#,#info#, #info_blob#)

oscache 屬性檔案 oscache.properties

cache.memory=true

cache.algorithm=com.opensymphony.oscache.base.algorithm.lrucache

cache.capacity=1000

在做單元測試的時候一直報

cache : no cache entry exists for key='-663355165|24887190', creating

我覺得正常的話,第一次查詢後台執行資料庫查詢,第二次肯定是從快取中取呢,

可是一直有問題,這還需要設定什麼地方呢,高人指點一下

快取雪崩 快取穿透 快取預熱 快取更新 快取降級

簡介 快取同一時間大面積的失效,所以,後面的請求都會落到資料庫上,造成資料庫短時間內承受大量請求而崩掉。解決辦法 中華石杉老師 簡介 一般是黑客故意去請求快取中不存在的資料,導致所有的請求都落到資料庫上,造成資料庫短時間內承受大量請求而崩掉。解決辦法 最常見的則是採用布隆過濾器,將所有可能存在的資料...

快取穿透 快取併發 快取雪崩 快取預熱

快取穿透 快取併發和快取雪崩是常見的由高併發引起的快取問題,而快取預熱是快取雪崩的一種解決方案。快取穿透指的是併發使用大量快取中不存在的key進行查詢,由於快取無法命中,大量的查詢會穿過快取直接查詢資料庫,使得資料庫壓力太大,導致資料庫可能被拖垮。一般是受到了惡意的攻擊才會導致這種問題,所以一旦遇到...

快取 一 快取穿透 快取擊穿 快取雪崩

一 快取穿透 使用者請求的資料在快取和資料庫中都沒有,使用者卻還是一直在請求,造成資料庫大量無用資料庫操作,造成資源浪費。這種情況很可能是被攻擊了。解決方式 1 快取空資料 缺點 造成空間浪費,可以對資料設定有效期。2 布隆過濾器 二 快取擊穿 使用者請求資料快取中不存在,資料庫中存在。同時使用者併...