SpringBoot整合Redis 记录

本文介绍了如何在Spring Boot项目中整合Redis,通过pom.xml添加依赖,配置application.yml文件,然后展示了测试代码,包括对Redis的String、Hash、List、Set、SortedSet操作。在测试时遇到了无法连接到Redis服务器的问题,解决方法是确保Redis服务已正确启动和配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

1.在pom.xml文件中添加如下依赖

<!--整合Redis -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
 

2.配置application.yml文件

spring:
  profiles:
    active: abc,def

  #把JdbcConfig 类中的druid的配置删除或注释
  #在刚才引入jdbc启动器的时候,SpringBoot已经自动帮我们引入了一个连接池,HikariCP应该是目前速度最快的连接池
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/xxx?useUnicode=true&characterEncoding=utf8&useSSL=false
    username: root
    password: root

  redis:
    host: localhost
    port: 6379
    timeout: 10000

 

3.编写测试代码时遇到的问题

package com.itheima.redis;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;
import java.util.Set;

@RunWith(SpringRunner.class)
@SpringBootTest
public class RedisTest {

    @Autowired
    private RedisTemplate redisTemplate;

    @Test
    public void test(){

        //string字符串
        redisTemplate.opsForValue().set("str", "xxx");
        redisTemplate.boundValueOps("str").set("xxx");
        System.out.println("str = " + redisTemplate.opsForValue().get("str"));
        // hash散列
        redisTemplate.boundHashOps("h_key").put("name", "xxx");
        redisTemplate.boundHashOps("h_key").put("age", 13);

        //获取所有域对应的值
        Set set = redisTemplate.boundHashOps("h_key").keys();
        System.out.println("hash散列所有的域:" + set);
        List list = redisTemplate.boundHashOps("h_key").values();
        System.out.println("hash散列所有的域值:" + list);

        //list列表
        redisTemplate.boundListOps("l_key").leftPush("c");
        redisTemplate.boundListOps("l_key").leftPush("b");
        redisTemplate.boundListOps("l_key").leftPush("a");
        list = redisTemplate.boundListOps("l_key").range(0, -1);
        System.out.println("列表的值:" + list);

        //set集合
        redisTemplate.boundSetOps("set_key").add("a", "b", "c");
        set = redisTemplate.boundSetOps("set_key").members();
        System.out.println("集合的元素:" + set);

        //sorted set有序集合
        redisTemplate.boundZSetOps("z_key").add("a", 30);
        redisTemplate.boundZSetOps("z_key").add("b", 20);
        redisTemplate.boundZSetOps("z_key").add("c", 10);
        set = redisTemplate.boundZSetOps("z_key").range(0, -1);
        System.out.println("有序集合的元素:" + set);
    }
}

 

4.测试问题

org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to localhost:6379

 

(1)启动命令

redis-server redis.windows.conf

 

(2)设置服务命令

redis-server --service-install redis.windows-service.conf --loglevel verbose

 

(3)常用Redis服务命令

卸载服务:redis-server --service-uninstall

开启服务:redis-server --service-start

停止服务:redis-server --service-stop

 

(4)优质Redis文章

https://www.cnblogs.com/yunqing/p/10605934.html  安装

https://blog.youkuaiyun.com/qian_qian_123/article/details/85161320   用法

https://blog.youkuaiyun.com/lei396601057/article/details/77527061    服务

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值