總是聽說很多javaweb系統用redis或memcache做快取,具體怎麼操作的?

時間 2021-05-31 21:49:32

1樓:cao

資料不敏感的用memcache較好,資料較敏感的要用redis,雖說redis較慢不過好歹持久化。而且redis還提供分布式鎖,提供訊息機制,好用好用,我就用redis。。。。

使用方法可以這樣:

String cachekey = String.format("ProductCache_%s", productId);

String result = redisCache.get(cachekey);

if(result != null)

Product p = dao.queryProduct(productId);

return p;

這樣就是最簡單的應用了。。。。。如果要自己搭建快取的話,還得考慮hash一致性的問題。否則用ehcache也是好用不貴的。

2樓:ScienJus

其實就相當於在應用程式和資料庫之間開了一塊記憶體區域,將一些高頻訪問的資料放在其中,避免每次都請求資料庫。至於之所以用memcached和redis,而不是自己在程式裡開個hashmap,是因為這塊區域可以共享且容易管理,在集群環境下更方便使用。

有些做法是直接將資料序列化後存在redis的string或是memcached中,也有些其他做法是利用redis特有的資料結構儲存一些關係,例如用sorted set存排行榜,string用來計數,set做一些倒排索引、使用者好友關係之類的。我覺得這些都可以稱之為快取。

學習java web開發需要學習計算機系統,編譯原理之類的基礎課程嗎?

正在看編譯原理龍書,看完就看鯨書。編譯原理,迅速建立模型的能力就在這裡面了,還有人叫這種能力叫抽象。而且,我本來打算寫編譯器的,後來想想算了,浪費時間,有這時間不如認真看鯨書和算導,以後再有新領域出來有的是機會寫編譯器。 Niii 看你描述像計算機專業的,如果是,老老實實去把基礎知識學好,以後的路不...

java web中,兩個子系統間資料傳輸,使用json好還是RPC遠端服務框架好?為什麼?

ccloomi 一般內部系統之間的資料通訊使用RPC,對外提供服務一般用json。rpc和json的區別在於當系統間的呼叫傳了乙個非常複雜的物件時,如果使用json的話會丟失很多態別資訊,導致接收到該json資料的系統需要對json進行解析和進行不安全的型別轉換,而使用rpc的話,系統之間的呼叫傳送...

總是聽說雙鑽模型,具體怎麼用?

寺十七 雙鑽模型的核心是發散和收斂,整個過程的本質是通過形成假設 尋找證據 修正假設來定義清楚問題和解決方案。所謂雙鑽,第乙個鑽是對問題的發散和收斂,目的是確認解決的是真正的問題 Doing the right things 第二個鑽是對解決方案的發散和收斂,目的是確認方案能真正地解決問題 Doin...