佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 在ssm項(xiàng)目中使用redis緩存查詢數(shù)據(jù)的方法

在ssm項(xiàng)目中使用redis緩存查詢數(shù)據(jù)的方法

熱門標(biāo)簽:呼叫中心市場需求 Linux服務(wù)器 百度競價排名 服務(wù)外包 鐵路電話系統(tǒng) 網(wǎng)站排名優(yōu)化 AI電銷 地方門戶網(wǎng)站

在項(xiàng)目中常常需要后臺程序的持久層查詢數(shù)據(jù)庫來獲取數(shù)據(jù),然后將數(shù)據(jù)交給服務(wù)層、控制層,最后才交給視圖層。如果數(shù)據(jù)訪問緩慢,就會影響程序的運(yùn)行。

為了加快程序的運(yùn)行,可以將數(shù)據(jù)放入緩存中,包括數(shù)據(jù)緩存和頁面緩存。

所謂緩存,就是將程序或系統(tǒng)經(jīng)常要調(diào)用的對象存在內(nèi)存中,一遍其使用時可以快速調(diào)用,不必再去創(chuàng)建新的重復(fù)的實(shí)例。這樣做可以減少系統(tǒng)開銷,提高系統(tǒng)效率。

其中頁面緩存主要是oscache,可以整頁或者指定網(wǎng)頁某一部分緩存,同時指定他的過期時間,這樣在此時間段里面訪問的數(shù)據(jù)都是一樣的 。

數(shù)據(jù)緩存則比較多,有著名的ehcache,redis,memcached等。

本文主要簡單的使用Java代碼進(jìn)行redis緩存,即在查詢的時候先在service層從redis緩存中獲取數(shù)據(jù)。如果不存在,則再經(jīng)過dao層從數(shù)據(jù)庫中獲取,最后將查詢到的數(shù)據(jù)緩存到redis中;如果存在,直接從redis緩存中讀取,并交給controller層。

xml配置:

bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig"> 
 property name="maxTotal" value="${redis.maxTotal}">/property> 
 property name="maxIdle" value="${redis.maxIdle}">/property> 
 property name="testOnBorrow" value="${redis.testOnBorrow}">/property> 
 property name="maxWaitMillis" value="${redis.maxWaitMillis}">/property> 
/bean> 
!-- jedis客戶端單機(jī)版 --> 
bean id="jedisPool" class="redis.clients.jedis.JedisPool"> 
 constructor-arg name="poolConfig" ref="poolConfig">/constructor-arg> 
 constructor-arg name="host" value="${redis.hostName}">/constructor-arg> 
 constructor-arg name="port" value="${redis.port}">/constructor-arg> 
/bean> 
!-- jedis集群版配置 --> 
bean id="jedisCluster" class="redis.clients.jedis.JedisCluster"> 
 constructor-arg name="poolConfig" ref="poolConfig">/constructor-arg> 
 constructor-arg name="nodes"> 
 set> 
  bean class="redis.clients.jedis.HostAndPort"> 
  constructor-arg name="host" value="127.0.0.1">/constructor-arg> 
  constructor-arg name="port" value="7001">/constructor-arg> 
  /bean> 
  bean class="redis.clients.jedis.HostAndPort"> 
  constructor-arg name="host" value="127.0.0.1">/constructor-arg> 
  constructor-arg name="port" value="7002">/constructor-arg> 
  /bean> 
  bean class="redis.clients.jedis.HostAndPort"> 
  constructor-arg name="host" value="127.0.0.1">/constructor-arg> 
  constructor-arg name="port" value="7003">/constructor-arg> 
  /bean> 
  bean class="redis.clients.jedis.HostAndPort"> 
  constructor-arg name="host" value="127.0.0.1">/constructor-arg> 
  constructor-arg name="port" value="7004">/constructor-arg> 
  /bean> 
  bean class="redis.clients.jedis.HostAndPort"> 
  constructor-arg name="host" value="127.0.0.1">/constructor-arg> 
  constructor-arg name="port" value="7005">/constructor-arg> 
  /bean> 
 /set> 
 /constructor-arg> 
/bean> 
[java] view plain copy
java調(diào)用 
//service層查詢時代碼 
@Autowired 
private JedisClient jedisClient; 
@Override 
public ListUser> list() { 
 // TODO Auto-generated method stub 
 try { 
 String json = jedisClient.hget("user", "list"); 
 if (StringUtils.isNotBlank(json)) { 
  ListUser> users = JsonUtils.jsonToList(json, User.class); 
  return users; 
 } 
 } catch (Exception e) { 
 e.printStackTrace(); 
 } 
 //使用持久層查詢數(shù)據(jù)庫 
 ListUser> list = userMapper.list(); 
 try { 
 jedisClient.hset("user", "list", JsonUtils.objectToJson(list)); 
 } catch (Exception e) { 
 e.printStackTrace(); 
 } 
 return list; 
} 

總結(jié)

以上所述是小編給大家介紹的在ssm項(xiàng)目中使用redis緩存查詢數(shù)據(jù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • SpringBoot集成SSM、Dubbo、Redis、JSP的案例小結(jié)及思路講解
  • ssm開發(fā)使用redis作為緩存的使用步驟
  • Redis集群與SSM整合使用方法
  • redis與ssm整合方法(mybatis二級緩存)
  • 關(guān)于idea中ssm框架的編碼問題分析
  • 解決idea導(dǎo)入ssm項(xiàng)目啟動tomcat報錯404的問題
  • IDEA SSM整合Redis項(xiàng)目實(shí)例 附源碼

標(biāo)簽:湖南 湘潭 崇左 蘭州 銅川 黃山 仙桃 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在ssm項(xiàng)目中使用redis緩存查詢數(shù)據(jù)的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    都江堰市| 常山县| 时尚| 伊金霍洛旗| 遵义县| 靖西县| 临泉县| 昌黎县| 札达县| 鹤山市| 平乐县| 通河县| 广安市| 瓦房店市| 湟中县| 烟台市| 屏南县| 大渡口区| 兰坪| 勃利县| 平和县| 老河口市| 繁峙县| 黎川县| 和龙市| 睢宁县| 射阳县| 河北区| 衡水市| 波密县| 泾川县| 武威市| 龙川县| 馆陶县| 漯河市| 疏附县| 政和县| 固安县| 武川县| 成安县| 黑龙江省|