springboot2集成redis

springboot整合redis的依赖


<!-- springboot整合redis -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    <version>2.7.11</version>
</dependency>
<!-- 阿里JSON解析器 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.23</version>
</dependency>

redis实体配置类

这个实体类也是后期会被调用的类

package com.example.common.redis;

import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.script.DefaultRedisScript;
import org.springframework.data.redis.serializer.StringRedisSerializer;

@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport
{
    @Bean
    @SuppressWarnings(value = { "unchecked", "rawtypes" })
    public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory)
    {
        RedisTemplate<Object, Object> template = new RedisTemplate<>();
        template.setConnectionFactory(connectionFactory);

        FastJson2JsonRedisSerializer serializer = new FastJson2JsonRedisSerializer(Object.class);

        // 使用StringRedisSerializer来序列化和反序列化redis的key值
        template.setKeySerializer(new StringRedisSerializer());
        template.setValueSerializer(serializer);

        // Hash的key也采用StringRedisSerializer的序列化方式
        template.setHashKeySerializer(new StringRedisSerializer());
        template.setHashValueSerializer(serializer);

        template.afterPropertiesSet();
        return template;
    }

    @Bean
    public DefaultRedisScript<Long> limitScript()
    {
        DefaultRedisScript<Long> redisScript = new DefaultRedisScript<>();
        redisScript.setScriptText(limitScriptText());
        redisScript.setResultType(Long.class);
        return redisScript;
    }

    /**
     * 限流脚本
     */
    private String limitScriptText()
    {
        return "local key = KEYS[1]\n" +
                "local count = tonumber(ARGV[1])\n" +
                "local time = tonumber(ARGV[2])\n" +
                "local current = redis.call('get', key);\n" +
                "if current and tonumber(current) > count then\n" +
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Springboot可以通过依赖管理器来实现对Redis集成。可以通过在项目的pom.xml文件中添加相应的依赖来实现Redis集成,然后在配置文件中配置Redis的相关参数,就可以实现SpringbootRedis集成了。 ### 回答2: Spring Boot中集成Redis可以通过以下步骤完成: 1. 引入Redis的依赖:在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> ``` 2. 配置Redis连接信息:在application.properties或application.yml文件中添加Redis的连接配置信息,包括host、port、password等,如: ```properties # Redis连接配置 spring.redis.host=localhost spring.redis.port=6379 spring.redis.password= ``` 3. 创建RedisTemplate实例:在需要使用Redis的类中注入RedisTemplate实例,该实例可以用于执行Redis的各种操作,如: ```java @Autowired private RedisTemplate<String, Object> redisTemplate; ``` 4. 使用RedisTemplate进行操作:通过redisTemplate可以执行各种Redis操作,如存储、读取、删除等,例如: ```java // 存储数据 redisTemplate.opsForValue().set("key", "value"); // 读取数据 Object value = redisTemplate.opsForValue().get("key"); // 删除数据 redisTemplate.delete("key"); ``` 这样,就完成了Spring Boot集成Redis的过程。通过上述步骤,我们可以方便地在Spring Boot项目中使用Redis进行缓存、存储等操作,提高系统的性能和容错能力。 ### 回答3: Spring Boot可以通过添加对Redis的依赖来集成Redis。以下是一种常见的集成方式: 步骤1:在pom.xml文件中添加Redis的依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> ``` 步骤2:在application.properties或application.yml文件中配置Redis连接信息,例如: ```properties spring.redis.host=localhost spring.redis.port=6379 spring.redis.password=your_password (如果Redis设置了密码的话) ``` 步骤3:创建一个Redis配置类,用于设置Redis连接工厂等配置信息。 ```java @Configuration @EnableCaching public class RedisConfig extends CachingConfigurerSupport { @Value("${spring.redis.host}") private String host; @Value("${spring.redis.port}") private int port; // 配置Redis连接工厂 @Bean public JedisConnectionFactory redisConnectionFactory() { RedisStandaloneConfiguration config = new RedisStandaloneConfiguration(host, port); return new JedisConnectionFactory(config); } // 配置Redis缓存管理器 @Bean public CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) { RedisCacheManager.RedisCacheManagerBuilder builder = RedisCacheManager.RedisCacheManagerBuilder .fromConnectionFactory(redisConnectionFactory); return builder.build(); } } ``` 步骤4:在需要使用Redis的地方,使用`@Autowired`注解注入`RedisTemplate`对象,通过该对象进行Redis操作。 ```java @RestController public class RedisController { @Autowired private RedisTemplate<String, String> redisTemplate; @GetMapping("/get") public String getValue(String key) { return redisTemplate.opsForValue().get(key); } @PostMapping("/set") public void setValue(String key, String value) { redisTemplate.opsForValue().set(key, value); } } ``` 通过以上步骤,就可以在Spring Boot项目中集成Redis,并使用RedisTemplate对Redis进行读写操作了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值