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

首頁 > 數據庫 > Redis > 正文

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

2020-03-17 12:34:48
字體:
來源:轉載
供稿:網友

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

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

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

其中頁面緩存主要是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緩存查詢數據,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到Redis頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 元谋县| 茶陵县| 玉树县| 乌鲁木齐县| 奎屯市| 都兰县| 博罗县| 商洛市| 建湖县| 西乡县| 沐川县| 华蓥市| 全南县| 太和县| 武城县| 阳新县| 怀远县| 碌曲县| 许昌县| 汪清县| 壤塘县| 勃利县| 石屏县| 南涧| 日喀则市| 安化县| 甘肃省| 延安市| 东城区| 孙吴县| 东乡族自治县| 南城县| 汤阴县| 确山县| 永顺县| 道真| 淮南市| 霍邱县| 鄂尔多斯市| 岱山县| 定日县|