redis整合springboot做缓存
时间: 2023-04-30 12:02:15 浏览: 103
在 Spring Boot 中使用 Redis 作为缓存需要在项目中引入 Redis 的依赖,并且在 application.properties 或者 application.yml 中配置 Redis 的连接信息,然后在需要缓存的类或者方法上添加 @Cacheable 注解即可。
示例:
1. 引入 Redis 依赖
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
```
2. 配置 Redis 连接信息
```yml
spring:
redis:
host: localhost
port: 6379
database: 0
```
3. 使用 @Cacheable 注解
```java
@Cacheable(value = "myCache", key = "#id")
public User findById(Integer id){
// 查询数据库
}
```
详细的过程可以参考官方文档:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-caching
相关问题
redis整合springboot
在Spring Boot中整合Redis,可以通过以下步骤:
步骤1:添加依赖
在pom.xml文件中添加Redis相关的依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
```
步骤2:配置Redis连接信息
在application.properties(或application.yml)文件中配置Redis连接信息,包括主机、端口、密码等。例如:
```properties
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=
```
步骤3:创建RedisTemplate Bean
在配置类中创建RedisTemplate Bean,用于操作Redis数据。可以使用默认的JedisConnectionFactory,也可以自定义配置。以下是一个简单的示例:
```java
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(redisConnectionFactory);
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
return template;
}
}
```
步骤4:使用RedisTemplate操作Redis数据
在需要使用Redis的地方,注入RedisTemplate即可进行数据操作。以下是一个简单的示例:
```java
@Autowired
private RedisTemplate<String, Object> redisTemplate;
public void set(String key, Object value) {
redisTemplate.opsForValue().set(key, value);
}
public Object get(String key) {
return redisTemplate.opsForValue().get(key);
}
```
这样,你就可以在Spring Boot中使用Redis了。当然,还有更多高级的用法,比如使用缓存注解、发布与订阅等,你可以根据自己的需求进行扩展。
Redis整合Springboot操作对象
Redis整合Spring Boot主要用于将Redis作为数据缓存存储,以提高应用程序的性能。以下是一般的步骤:
1. 添加依赖:在Spring Boot项目的pom.xml文件中添加Redis的依赖,例如:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
```
2. 配置Redis:在application.properties或application.yml中配置Redis连接信息,如主机名、端口、密码等。
3. 创建RedisTemplate:在Spring Boot配置类中,创建`RedisTemplate`实例,并注入`StringRedisTemplate`或`JedisConnectionFactory`,以便操作键值对或更复杂的对象序列化。
```java
@Autowired
private StringRedisTemplate stringRedisTemplate;
```
4. 使用RedisTemplate:在服务类中,可以使用`RedisTemplate`提供的方法进行读写操作,如`opsForValue()`用于操作基本类型,`opsForHash()`操作哈希表等。
5. 缓存注解:Spring Data Redis提供了`@Cacheable`, `@CacheEvict`, 和 `@CachePut` 等注解,用于标记需要缓存的方法。当你需要从Redis获取数据时,Spring会自动检查是否存在缓存并返回,如果不存在则调用方法生成数据并放入缓存。
6. 操作对象:对于复杂对象的存储,通常需要序列化,你可以使用Jackson或Hutool的Serialization工具,或者使用Spring Data Redis的`ValueOperations`接口配合`ObjectMapper`进行序列化和反序列化。
```java
@Autowired
private ObjectValueOperations<Object> objectValueOps;
public void saveToRedis(User user) {
String key = "user:" + user.getId();
byte[] bytes = ObjectMapper.DefaultTyping.NON_FINAL.getTypeSerializer().serialize(user, new TypeReference<User>() {});
objectValueOps.set(key, bytes);
}
```
阅读全文