SpringBoot + Redis

本文详细介绍了如何在SpringBoot项目中集成Redis,包括下载与安装、基本数据类型操作、密码设置及服务配置,还展示了如何通过SpringBoot进行Redis的实战测试。

1、下载安装Redis

下载压缩包

下载地址:https://github.com/tporadowski/redis/releases
选择zip压缩包下载

下载后解压到本地,进入解压目录,双击打开redis-server.exe

打开后出现以下窗口,说明Redis服务已启动,可以看到默认端口号为6379
在这里插入图片描述

设置密码

修改redis.windows.conf文件,修改requirepass,将注释去掉,后面跟上自己的密码,如

requirepass myPass

测试

打开同目录下的redis-cli.exe,启动客户端进行测试

也可通过控制台启动:

redis-cli.exe -h 127.0.0.1 -p 6379 -a myPass

启动后看到以下窗口

请添加图片描述
输入命令进行测试:
设置键值对:

set myName YunQue

获取键值对:

get myName

下图是运行结果,可以看到成功设置并取出了键值对
在这里插入图片描述

2、Redis基本操作

Redis基本数据类型

Redis有五种基本的数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(有序集合)。

string

string即键值对,能够进行最基本的set、get命令,上面已经举过例子

hash

hash是string键值对的集合,相当于Java里的Map,hash里一个键对应一个值。hash使用hset和hget操作,hset可以一次设置多个值。

hmset myHash key1 val1 key2 val2
hget myHash key1

在这里插入图片描述

list

list是按顺序存放字符串的列表,可在列表起始或结束位置插入元素

lpush myList val1 val2 val3

使用lrange查看列表元素

lrange myList 0 10

在这里插入图片描述

Set

Set中的值不能重复,使用sadd向Set中添加元素,返回值代表成功添加的个数

sadd mySet val1 val2 val3

使用smembers查看集合中的元素

smembers mySet

在这里插入图片描述

Zset

Zset是有序集合,Zset中的值也不能重复,而且添加时会输入一个用于排序的分数

添加一个分数是1的元素"name":

zadd myZset 1 name

获取按分数排序的元素(分数在1到3之间):

zrangebyscore myZset 1 3

在这里插入图片描述

3、SpringBoot整合Redis

(1)创建SpringBoot项目

使用IDEA创建SpringBoot项目,创建时勾选redis依赖:
在这里插入图片描述
创建完成:
在这里插入图片描述
也可以手动添加maven依赖:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
            <version>2.6.1</version>
        </dependency>

(2)配置Redis服务地址

application.yml文件配置Redis服务相关信息,如下所示:

spring:
  redis:
    host: 127.0.0.1
    port: 6379
    password: myPass

在这里插入图片描述

(3)测试

在springboot接口中测试向Redis中存值和从Redis取值:

@RestController
@RequestMapping("/demo")
public class DemoController {

    @Resource
    private RedisTemplate<String, String> redisTemplate;

    /**
     * 测试向Redis中存值
     */
    @GetMapping("/setTest")
    public String setTest(String name) {
        ValueOperations<String, String> ops = redisTemplate.opsForValue();
        ops.set("myName", name);
        return "success";
    }

    /**
     * 测试从Redis中取值
     */
    @GetMapping("/getTest")
    public String getTest() {
        ValueOperations<String, String> ops = redisTemplate.opsForValue();
        return ops.get("myName");
    }
}

启动程序,在浏览器输入以下内容,测试setTest接口

http://127.0.0.1:8001/redis-demo/demo/setTest?name=HaHa

在这里插入图片描述
然后测试getTest

http://127.0.0.1:8001/redis-demo/demo/getTest

在这里插入图片描述
可以看到已经从Redis取出存放的值

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值