<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
也可以在创建项目时候进行选择依赖,如下图:
package com.shenmazong.demobootredis;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.StringRedisTemplate;
@SpringBootTest
class DemoBootRedisApplicationTests {
@Autowired
StringRedisTemplate redisTemplate;
@Test
void contextLoads() {
redisTemplate.opsForValue().set("userName", "wusong");
}
}
运行成功,那么数据是否写进去了呢?到redis库里面看一下:
从上图看,数据已经写到库里面了,是不是感到很神奇,什么都没有配置,就能够操作redis了,这是怎么做到的呢?
这其实都是SpringBoot的福利,因为约定优于配置,在我们引入redis starter的时候,已经设置默认的连接参数,因此默认情况下,我们无需配置。
server.port=8000
spring.application.name=demo-boot-redis
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=127.0.0.1
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
RedisTemplate看这个类的名字后缀是Template,如果了解过Spring如何连接关系型数据库的,大概不会难猜出这个类是做什么的 ,它跟JdbcTemplate一样封装了对Redis的一些常用的操作,当然StringRedisTemplate跟RedisTemplate功能类似那么肯定就会有人问,为什么会需要两个Template呢,一个不就够了吗?其实他们两者之间的区别主要在于他们使用的序列化类。
它们的区别主要如下: