spring boot 集成redis,本人选用xml文件的形式,由于spring boot 得简单易用,网上多用注解的形式集成redis
,话不多说,上代码
1、首先配置文件redis-config.properties,初始化redis的一些参数,包括端口、密码等
redis.maxIdle=10
redis.maxTotal=100
redis.database=2
redis.timeout=3000
redis.host=127.0.0.1
redis.password=
redis.port=6379
2、xml配置文件redis-config.xml
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="${redis.maxTotal}"/>
<property name="maxIdle" value="${redis.maxIdle}"/>
</bean>
<bean id="jedisConnectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
destroy-method="destroy">
<property name="database" value="${redis.database}"/>
<property name="timeout" value="${redis.timeout}"/>
<property name="usePool" value="true"/>
<property name="poolConfig" value="jedisPoolConfig"/>
<property name="port" value="${redis.port}"/>
<property name="password" value="${redis.password}"/>
<property name="hostName" value="${redis.host}"/>
</bean>
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="jedisConnectionFactory"/>
<property name="keySerializer">
<bean
class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
</property>
<property name="valueSerializer">
<bean
class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"/>
</property>
<property name="enableTransactionSupport" value="false"/>
</bean>
<!-- <bean id="cacheManager" class="org.springframework.data.redis.cache.RedisCacheManager">
<constructor-arg index="0" ref="redisTemplate"></constructor-arg>
缓存失效时间,这里被我注释了,这里可以设置单个存放于缓存中的参数的有效时间,当然我的失效时间存放于java代码中
<property name="expires">
<map>
<entry key="" value=""></entry>
<entry key="" value=""></entry>
</map>
</property>
</bean> -->
<bean id="redisUtil" class="com.wzy.redis.RedisUtil">
<property name="redisTemplate" ref="redisTemplate" />
</bean>
3、RedisUtil工具类
@Component
public class RedisUtil {
private static final Logger logger = LoggerFactory.getLogger(RedisUtil.class);
private RedisTemplate<Serializable, Object> redisTemplate;
/**
* 批量删除对应的key
* @param keys
*/
public void remove(final String... keys) {
for(String key : keys) {
remove(key);
}
}
/**
* 删除缓存中相应额key
* @param key
*/
public void remove(String key) {
if(exists(key)) {
redisTemplate.delete(key);
}
}
/**
* 判断是否存在相应的key
* @param key
* @return
*/
public boolean exists(String key) {
return redisTemplate.hasKey(key);
}
/**
* 批量删除key
* @param pattern
*/
public void removePattern(final String pattern) {
Set<Serializable> keys = redisTemplate.keys(pattern);
if(keys.size() > 0) {
redisTemplate.delete(keys);
}
}
/**
* 读取缓存
* @param key
* @return
*/
public Object get(final String key) {
Object result = null;
ValueOperations< Serializable, Object> operations = redisTemplate.opsForValue();
result = operations.get(key);
return result;
}
/**
* 写入缓存
* @param key
* @param value
* @return
*/
public boolean set(final String key, Object value) {
boolean result = false;
try {
ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
operations.set(key, value);
result = true;
}catch (Exception e) {
logger.error("set cache error", e);
}
return result;
}
/**
* 写入缓存时间,单位秒
* @param key
* @param value
* @param expireTime
* @return
*/
public boolean set(final String key, Object value, Long expireTime) {
boolean result = false;
try {
ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
operations.set(key, value);
redisTemplate.expire(key, expireTime, TimeUnit.SECONDS);
result = true;
}catch (Exception e) {
logger.error("set cache error", e);
}
return result;
}
/**
* 以增量的方式将long值存储在变量中。
* @param key
* @param delta
* @return
*/
public long increment(final String key, long delta) {
return redisTemplate.opsForValue().increment(key, delta);
}
public void setRedisTemplate(RedisTemplate<Serializable, Object> redisTemplate) {
this.redisTemplate = redisTemplate;
}
这样spring boot就集成了redis,打开redis服务器,就可以使用了。
相关推荐
spring boot 集成redis代码
Spring boot 集成 redis (解决String类型乱码) 缓存用redis
spring boot集成redis做为通用缓存的实战demo,帮助大家彻底掌握s-cache-practice
NULL 博文链接:https://412887952-qq-com.iteye.com/blog/2294942
在一些要求高一致性(任何数据变化都能及时的被查询到)的系统和应用中,就不能再使用EhCache来解决了,这个时候使用集中式缓存是个不错的选择,因此本文将介绍如何在Spring Boot的缓存支持中使用Redis进行数据缓存...
springBoot+mybatis+redis集成,不上代码要确保redis服务端已经运行
此 demo 演示 SpringBoot 集成 Redis 操作数据库以及 Redis 做登录缓存
主要介绍了Spring Boot集成Redis实现缓存机制(从零开始学Spring Boot),需要的朋友可以参考下
Spring boot 和 Redis集成例子,通过代码理解Spring boot 和 Redis集成。
主要介绍了Spring Boot集成Redis实战操作,包括如何集成redis以及redis的一些优点,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
主要介绍了Spring boot集成redis lettuce代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
spring boot 集成redis,demo 对应博客地址:http://blog.csdn.net/woniu211111/article/details/54564308
Spring Boot框架集成Redis教程
Springboot整合Redis集群,零配置方式;另外用AOP实现了操作缓存的三套自定义注解,有兴趣的小伙伴可以试试看.
1.38 Spring Boot集成Redis实现缓存机制 1.39 Spring Boot Cache理论篇 1.40 Spring Boot集成EHCache实现缓存机制 1.41 Spring Boot分布式Session状态保存Redis 1.42 Spring Boot Shiro权限管理 1.43 Spring Boot ...
在spring boot中集成redis,包括redis的链接配置,操作方法以及Controller的使用,直接修改properties的链接即可运行
spring boot集成redis,使用redis官网推荐java语言jedis操作
博客示例代码,Spring boot 自学笔记(三) 集成redis1 代码
本篇文章主要介绍了详解Spring Boot使用redis实现数据缓存,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧