`

spring boot 集成 redis

阅读更多

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服务器,就可以使用了。大笑

分享到:
评论

相关推荐

    35.[视频] Spring Boot集成Redis实现缓存机制【从零开始学Spring Boot】

    在本节中,我们将深入探讨如何使用Spring Boot集成Redis来实现高效的缓存机制。Spring Boot是Java开发领域中一个流行的微服务框架,它简化了设置和配置过程,使得开发人员可以快速启动项目。Redis则是一种高性能的...

    spring boot 集成redis代码

    综上所述,Spring Boot集成Redis主要涉及添加依赖、配置连接信息、注入RedisTemplate以及根据业务需求进行操作。通过这种方式,我们可以充分利用Redis的高效特性,为应用程序提供快速的数据访问和缓存功能。在实际...

    springBoot集成redis

    本文将详细介绍如何在Spring Boot项目中集成Redis和MyBatis,以实现数据缓存和数据库操作。 首先,为了在Spring Boot项目中引入Redis,我们需要在`pom.xml`文件中添加Spring Data Redis依赖: ```xml &lt;groupId&gt;...

    spring boot+redis单机与集群.zip

    首先,让我们详细了解一下Spring Boot集成Redis的基础知识。Spring Boot提供了自动配置的支持,使得我们可以轻松地将Redis与我们的应用连接起来。我们需要在`pom.xml`或`build.gradle`文件中添加对应的依赖,例如...

    Spring boot 集成 redis (解决String类型乱码) 缓存用redis

    本文将详细讲解如何在Spring Boot项目中集成Redis,并解决String类型的乱码问题。 首先,我们需要在项目中引入Redis的相关依赖。在`pom.xml`(如果你使用的是Maven)或`build.gradle`(如果你使用的是Gradle)文件...

    Spring Boot 集成Redis 实现增删改查

    springboot 集成redis 简单项目

    SpringBoot集成Redis

    SpringBoot集成Redis是一个常见的开发需求,它使得应用可以利用Redis的高性能、内存存储特性进行数据缓存和快速访问。在本项目中,我们将探讨如何在SpringBoot应用中配置和使用Redis,以及如何利用Redis实现登录缓存...

    Spring Boot整合Redis做集中式缓存

    在一些要求高一致性(任何数据变化都能及时的被查询到)的系统和应用中,就不能再使用EhCache来解决了,这个时候使用集中式缓存是个不错的选择,因此本文将介绍如何在Spring Boot的缓存支持中使用Redis进行数据缓存...

    spring boot集成redis做为通用缓存的实战demo,帮助大家彻底掌握s-cache-practice.zip

    在本实战项目 "s-cache-practice" 中,我们将学习如何将 Redis 集成到 Spring Boot 应用中,以实现通用缓存功能。 首先,让我们了解集成的步骤: 1. **添加依赖**:在 `pom.xml` 文件中,我们需要引入 Spring Boot...

    spring boot - redis-1

    本篇将详细讲解如何在Spring Boot项目中集成Redis,并通过实例代码“spring boot - redis-1”来深入理解这一过程。 首先,集成Redis的前提是确保你的机器上已经安装了Redis服务器并成功运行。Redis可以通过官方网站...

    Spring boot -redis

    它提供了丰富的 API,支持所有 Redis 命令,是 Spring Boot 集成 Redis 的常见选择。在 Spring Boot 中配置 Jedis,我们通常会在 `application.properties` 或 `application.yml` 文件中设置 Redis 的连接信息,如...

    Spring boot集成redis lettuce代码实例

    Spring Boot集成Redis Lettuce代码实例 Spring Boot是一款流行的Java框架,用于快速构建基于Spring的应用程序。Redis是一个开源的、基于内存的数据结构存储系统,可以作为数据库、缓存和消息代理等使用。Lettuce是...

    Spring Boot整合redis

    Thymeleaf是一个强大的服务器端模板引擎,可以与Spring Boot无缝集成。在`pom.xml`或`build.gradle`中添加Thymeleaf依赖,然后在`src/main/resources/templates`目录下创建HTML模板文件。在Controller中返回...

    springboot_redis

    描述中提到的“spring boot 集成redis”是一个示例项目,提供了如何在Spring Boot应用中整合Redis的具体步骤。通过访问提供的博客链接(http://blog.csdn.net/woniu211111/article/details/54564308),我们可以深入...

    Spring Boot集成Redis实战操作功能

    Spring Boot集成Redis实战操作功能详解 一、 Redis简介 Redis是一个高性能的key-value数据库,支持存储的value类型很多,包括string、list、set、zset和hash等等。Redis具有很多优点,如异常快、支持丰富的数据...

    Spring boot redis demo.rar

    总之,通过Spring Boot集成Redis,我们可以方便地在Java应用中利用Redis的高效特性。通过配置序列化器和适当的Service及Controller,可以有效地解决乱码问题,同时支持各种数据类型的存取。这个"Spring boot redis ...

    springboot整合redis集群零配置

    在Spring Boot 2.1及以上版本中,我们可以利用`spring.redis.cluster.nodes`属性来实现零配置连接到Redis集群,只需将所有集群节点的IP和端口以逗号分隔的形式列出即可,如: ```properties spring.redis.cluster....

    Spring boot 和 Redis集成例子.zip

    让我们详细探讨一下Spring Boot与Redis的集成及其相关知识点。 首先,Spring Boot是Spring框架的一个扩展,它通过内嵌的Tomcat或Jetty服务器,自动配置和 Starter 包,使得开发Java应用变得更加简单。在Spring Boot...

    springboot-mybatis-redis缓存集成

    MyBatis与Spring Boot集成时,通常会使用`spring-boot-starter-data-jpa`或`spring-boot-starter-mybatis`启动器。 接下来,我们讨论Redis。Redis是一个内存数据结构存储系统,常被用作数据库、缓存和消息中间件。...

Global site tag (gtag.js) - Google Analytics