spring mvc配置redis缓存
来源:互联网 发布:淘宝上off white正品店 编辑:程序博客网 时间:2024/06/04 19:18
在applicationContext.xml中配置:
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxIdle" value="300" /> <property name="maxActive" value="600" /> <property name="maxWait" value="1000" /> <property name="testOnBorrow" value="true" /></bean><bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" p:host-name="127.0.0.1" p:port="6379" p:pool-config-ref="poolConfig"/><bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate"> <property name="connectionFactory" ref="connectionFactory" /> <property name="keySerializer"> <bean class="org.springframework.data.redis.serializer.StringRedisSerializer"/> </property> <property name="valueSerializer"> <bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"/> </property></bean>
创建redisUtil:
package com.functions.meta.ui.model.redis;import org.apache.poi.ss.formula.functions.T;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.data.redis.core.*;import org.springframework.stereotype.Service;import java.util.*;/** * Created by Administrator on 2017/1/11 0011. */@Servicepublic class RedisCacheUtil { @Autowired @Qualifier("redisTemplate") public RedisTemplate redisTemplate; public boolean hasKey(String key) { return redisTemplate.hasKey(key); } public void delete(String key) { redisTemplate.delete(key); } public boolean ping() { boolean flag = false; try { String result = redisTemplate.getConnectionFactory().getConnection().ping(); if (result.equals("PONG")) { flag = true; } } catch (Exception e){ flag = false; } return flag; } /** * 缓存基本的对象,Integer、String、实体类等 * @param key 缓存的键值 * @param value 缓存的值 * @return 缓存的对象 */ public <T> ValueOperations<String,T> setCacheObject(String key, T value) { ValueOperations<String,T> operation = redisTemplate.opsForValue(); operation.set(key,value); return operation; } /** * 获得缓存的基本对象。 * @param key 缓存键值 * @return 缓存键值对应的数据 */ public <T> T getCacheObject(String key) { ValueOperations<String,T> operation = redisTemplate.opsForValue(); return operation.get(key); } /** * 缓存List数据 * @param key 缓存的键值 * @param dataList 待缓存的List数据 * @return 缓存的对象 */ public <T> ListOperations<String, T> setCacheList(String key, List<T> dataList) { ListOperations listOperation = redisTemplate.opsForList(); if(null != dataList) { int size = dataList.size(); for(int i = 0; i < size ; i ++) { listOperation.rightPush(key,dataList.get(i)); } } return listOperation; } /** * 获得缓存的list对象 * @param key 缓存的键值 * @return 缓存键值对应的数据 */ public <T> List<T> getCacheList(String key) { List<T> dataList = new ArrayList<T>(); ListOperations<String,T> listOperation = redisTemplate.opsForList(); Long size = listOperation.size(key); for(int i = 0 ; i < size ; i ++) { dataList.add((T) listOperation.leftPop(key)); } return dataList; } /** * 缓存Set * @param key 缓存键值 * @param dataSet 缓存的数据 * @return 缓存数据的对象 */ public <T> BoundSetOperations<String,T> setCacheSet(String key, Set<T> dataSet) { BoundSetOperations<String,T> setOperation = redisTemplate.boundSetOps(key); /*T[] t = (T[]) dataSet.toArray(); setOperation.add(t);*/ Iterator<T> it = dataSet.iterator(); while(it.hasNext()) { setOperation.add(it.next()); } return setOperation; } /** * 获得缓存的set * @param key * @return */ public Set<T> getCacheSet(String key/*,BoundSetOperations<String,T> operation*/) { Set<T> dataSet = new HashSet<T>(); BoundSetOperations<String,T> operation = redisTemplate.boundSetOps(key); Long size = operation.size(); for(int i = 0 ; i < size ; i++) { dataSet.add(operation.pop()); } return dataSet; } /** * 缓存Map * @param key * @param dataMap * @return */ public <T> HashOperations<String,String,T> setCacheMap(String key, Map<String,T> dataMap) { HashOperations hashOperations = redisTemplate.opsForHash(); if(null != dataMap) { for (Map.Entry<String, T> entry : dataMap.entrySet()) { /*System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); */ hashOperations.put(key,entry.getKey(),entry.getValue()); } } return hashOperations; } /** * 获得缓存的Map * @param key * @return */ public <T> Map<String,T> getCacheMap(String key/*,HashOperations<String,String,T> hashOperation*/) { Map<String, T> map = redisTemplate.opsForHash().entries(key); /*Map<String, T> map = hashOperation.entries(key);*/ return map; } /** * 缓存Map * @param key * @param dataMap * @return */ public <T> HashOperations<String,Integer,T> setCacheIntegerMap(String key,Map<Integer,T> dataMap) { HashOperations hashOperations = redisTemplate.opsForHash(); if(null != dataMap) { for (Map.Entry<Integer, T> entry : dataMap.entrySet()) { /*System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); */ hashOperations.put(key,entry.getKey(),entry.getValue()); } } return hashOperations; } /** * 获得缓存的Map * @param key * @return */ public <T> Map<Integer,T> getCacheIntegerMap(String key/*,HashOperations<String,String,T> hashOperation*/) { Map<Integer, T> map = redisTemplate.opsForHash().entries(key); /*Map<String, T> map = hashOperation.entries(key);*/ return map; }}
2 0
- spring mvc配置redis缓存
- SSM(Spring + Spring MVC +Mybatis)的Redis缓存,JedisPool配置
- spring mvc整合redis缓存
- redis spring缓存配置
- spring redis缓存配置
- spring整合redis缓存配置
- Spring4.X + Spring MVC + Mybatis3 零配置应用开发框架搭建详解(5) - Redis缓存配置
- Spring4.X + Spring MVC + Mybatis3 零配置应用开发框架搭建详解(5) - Redis缓存配置
- spring mvc RedirectAttributes 重定向 + redis缓存
- spring mvc+mybatis ehcache缓存配置
- redis缓存配置(spring + maven)
- Spring redis 分布式缓存详细说明、配置、
- spring mvc 小记(八):MyBatis整合redis缓存
- Spring MVC +Mybatis + Maven 配置之Redis配置
- java缓存EHCache Spring MVC项目配置ehcache
- spring + redis实现缓存
- Redis+Spring缓存实例
- Redis+Spring缓存实例
- 动态规划练习--29(合唱队形)
- springmvc>>>ssm添加跨域>>基于maven
- 把排序数组转换为高度最小的二叉搜索树
- HDU
- 2017 4 19日 (每日总结 三)
- spring mvc配置redis缓存
- IMWeb训练营作业
- 常用的linux命令
- C++ 模板类
- 动态规划―怪盗基德的滑翔翼
- Dijkstra算法的实现
- Linux学习笔记(4)(用户组)
- Ubuntu桌面系统安装配置备忘
- 【寒江雪】2017.3.3切题