麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數(shù)據(jù)庫 > Redis > 正文

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

2020-10-28 21:34:18
字體:
供稿:網(wǎng)友

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

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

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

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

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

本文主要簡(jiǎn)單的使用Java代碼進(jìn)行redis緩存,即在查詢的時(shí)候先在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 copyjava調(diào)用 //service層查詢時(shí)代碼 @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();  }  //使用持久層查詢數(shù)據(jù)庫  List<User> 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ù),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产三级三级三级三级 | 国产男女爽爽爽爽爽免费视频 | av在线影片 | 黄色片网站在线免费观看 | 深夜小视频在线观看 | 国产精品亚洲欧美 | 182tv成人福利视频免费看 | 一级视频网站 | 一区二区精品视频 | 欧美毛片 | 亚洲字幕av | 久久情爱网| 影视免费观看 | 久草手机在线视频 | 久久污| 日本黄色免费观看视频 | 蜜桃网站在线观看 | 久久精品亚洲一区 | 免费在线观看午夜视频 | 一级黄色大片在线观看 | 污片视频网站 | 圆产精品久久久久久久久久久 | 国产女厕一区二区三区在线视 | 天天操天天骑 | 伊人久久电影网 | 免费中文视频 | 亚洲性在线视频 | 色毛片| 久久久久久久久久一本门道91 | 羞羞的网址 | 九九热九九爱 | 美女视频黄a视频免费全过程 | 狠狠操操 | 精品成人免费视频 | 欧美日韩亚洲在线观看 | 美女污污在线观看 | 91成人午夜性a一级毛片 | 国产成人精品区一区二区不卡 | 成人在线观看免费视频 | 韩国精品视频在线观看 | 在线观看一区二区三区四区 |