SSM项目实现Redis缓存功能(ssm项目添加redis)
如今,互联网服务的逐步发展,给网站和系统的开发提供了更为完善的技术支持,其中,基于SSM框架的项目也引起越来越多开发人员的关注。Redis缓存技术,作为应用非常广泛的一种缓存技术,在基于SSM的项目发展中应用也是十分重要的。在此,我们将简要介绍如何在基于SSM框架的项目中实现Redis缓存功能!
在使用Redis之前,我们需要启动其服务,并在项目中引入其相关JAR文件StringRedisTemplate和spring-data-redis:
“`
org.springframework.data
spring-data-redis
2.1.9.RELEASE
“`
然后,我们需要在配置文件中配置Redis服务的相关信息:
#Redis服务
redis.host=127.0.0.1redis.port=6379
#Redis链接池有关配置redis.pool.maxIdle=300
redis.pool.maxTotal=800redis.pool.maxWtMillis=10000
redis.pool.minIdle=10
接下来,我们可以编写RedisConfig文件,根据以上配置连接到Redis缓存服务器:
@Configuration
public class RedisConfig { @Bean
public JedisPoolConfig jedisPoolConfig() { JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxIdle(maxIdle); jedisPoolConfig.setMaxTotal(maxTotal);
jedisPoolConfig.setMaxWtMillis(maxWtMillis); jedisPoolConfig.setMinIdle(minIdle);
return jedisPoolConfig; }
@Bean public JestClient jestClient(){
return JestClientFactory.getJestClient("serverUrl",2000,3000,new JestResultHandler()); }
@Bean public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory factory){
StringRedisTemplate stringRedisTemplate = new StringRedisTemplate(factory); return stringRedisTemplate;
}}
接下来,我们写一个缓存的Service类,编写其中的相关缓存方法,来实现缓存管理功能:
/**
* service 核心缓存模块 * @author lizeyu
* @date 2019-03-03 *
*/@Service
public class CacheService { @Autowired
private StringRedisTemplate stringRedisTemplate; /**
* 将数据添加至缓存,以字符串形式存储 * @author lizeyu
* @date 2019-03-03 * @param key
* @param value */
public void addToCache(String key,Object value){ stringRedisTemplate.opsForValue().set(key, JSON.toJSONString(value));
stringRedisTemplate.expire(key,30,TimeUnit.SECONDS); }
/** * 获取缓存中的数据
* @author lizeyu * @date 2019-03-03
* @param key * @param clazz
* @return */
public Object getFromCache(String key,Class clazz){ String value = stringRedisTemplate.opsForValue().get(key);
if(StringUtils.isEmpty(value)){ return null;
} return JSON.parseObject(value,clazz);
}}
在SSM 项目中使用Redis缓存,我们只需在需要写入缓存或者从缓存读取的位置写入以上Service给出的方法即可,这样,就可以实现基于SSM的项目中实现Redis的缓存功能了!
实现Redis缓存功能,在使用中均要比较充分地洞察明确其有效的使用场景,并在基于SSM的项目中合理灵活的使用它,这样,才能最大程度的提高开发效率和系统的可扩展性!