国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Redis > 正文

在ssm項目中使用redis緩存查詢數據的方法

2020-10-28 21:34:18
字體:
來源:轉載
供稿:網友

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

為了加快程序的運行,可以將數據放入緩存中,包括數據緩存和頁面緩存。

所謂緩存,就是將程序或系統經常要調用的對象存在內存中,一遍其使用時可以快速調用,不必再去創建新的重復的實例。這樣做可以減少系統開銷,提高系統效率。

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

數據緩存則比較多,有著名的ehcache,redis,memcached等。

本文主要簡單的使用Java代碼進行redis緩存,即在查詢的時候先在service層從redis緩存中獲取數據。如果不存在,則再經過dao層從數據庫中獲取,最后將查詢到的數據緩存到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客戶端單機版 --> <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 copyjava調用 //service層查詢時代碼 @Autowired private JedisClient jedisClient; @Override public List<User> list() {  // TODO Auto-generated method stub  try {  String json = jedisClient.hget("user", "list");  if (StringUtils.isNotBlank(json)) {   List<User> users = JsonUtils.jsonToList(json, User.class);   return users;  }  } catch (Exception e) {  e.printStackTrace();  }  //使用持久層查詢數據庫  List<User> list = userMapper.list();  try {  jedisClient.hset("user", "list", JsonUtils.objectToJson(list));  } catch (Exception e) {  e.printStackTrace();  }  return list; } 

總結

以上所述是小編給大家介紹的在ssm項目中使用redis緩存查詢數據,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 山东| 吴堡县| 丰原市| 海南省| 成武县| 巴中市| 泗水县| 六安市| 贡嘎县| 霍州市| 昆明市| 仁布县| 彩票| 肃宁县| 临猗县| 秦皇岛市| 栖霞市| 东辽县| 基隆市| 岑溪市| 建昌县| 六枝特区| 祁门县| 莱阳市| 博爱县| 托克托县| 武胜县| 景东| 巴林右旗| 准格尔旗| 大石桥市| 公主岭市| 通城县| 资兴市| 无棣县| 锦屏县| 莱州市| 星子县| 彭山县| 习水县| 嵩明县|