亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問應該如何緩存數據多java opt設置多少合適?

請問應該如何緩存數據多java opt設置多少合適?

守著一只汪 2019-07-03 11:07:40
緩存數據多java opt設置多少合適
查看完整描述

4 回答

?
四季花海

TA貢獻1811條經驗 獲得超5個贊

解決問題的思路首先就不對,什么叫JAVA中……JVM虛擬內存一般只有幾百M,為何別人那么多大型系統都能跑起來?
第一,大量的數據是不會考慮放在JVM內存中;
第二,如果需要緩存大量的dto,動態數據(又稱過程數據)一般用的是redis;如果是靜態,系統啟動時就加載的大量配置,一般考慮放ehcache。
第三,由于redis用的是物理內存,不是JVM內存,一般情況下往redis里丟千萬級別的記錄數基本不影響性能,小小100w條算什么呢。

查看完整回答
反對 回復 2019-07-06
?
LEATH

TA貢獻1936條經驗 獲得超7個贊

內存數據庫有現成的redis,高效存取鍵值對,鍵設為你的查詢條件,值設為你的查詢結果轉為字符串
查詢時先從redis取,沒有再查數據庫,并且設置redis的過期時間,這種方式需要項目對實時性要求不高,這樣你才能用緩存,而且如果你的項目沒有明顯的熱點,即沒有某些內容確定會多次被查到,那你緩存就不會命中,添加緩存反而影響你得速度

redis是一種nosql的內存數據庫,感興趣你可以了解一下,優點就是性能強勁

數據查詢請求多就把結果緩存下來,你查數據庫再快也沒有直接把結果從內存讀出來快
同樣的sql請求只有第一次查數據庫,之后通通讀內存

或者你干脆借助這種思想,創建一個全局的map對象,然后查詢條件作key
,結果作value,就省去了了解redis的過程,把整個數據庫裝內存不太科學,你有多少條數據啊

查看完整回答
反對 回復 2019-07-06
?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

在applicationContext.xml里設置數據源

<!-- 數據源定義,使用Apache DBCP 連接池 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>

寫入具體值就可以了

applicationContext.xml中還有一段相關的:

<!-- 初始化ibatis配置信息sqlMapClient -->
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="classpath:cn/com/pp/db/SqlMapConfig.xml" />
<property name="dataSource" ref="dataSource" />
</bean>

查看完整回答
反對 回復 2019-07-06
?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

map由key value鍵值對組成,具體放多少數據和你的服務器運行時的內存有關系,同時也和你代碼中及時清理無效緩存有關系。
一般編寫代碼中不會去考慮放多少數據問題,除非你數據量超級大對內存要求比較高。這個時候需要對代碼和服務器進行優化

查看完整回答
反對 回復 2019-07-06
  • 4 回答
  • 0 關注
  • 938 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號