sringboot 统一个redis key加前缀
时间: 2023-08-18 07:02:19 浏览: 219
springboot+redis+shiro单点登录,统一异常处理,统一日志
使用Spring Boot给Redis中的key添加前缀可以通过配置文件来实现。以下是具体的步骤:
1. 在配置文件(application.properties或application.yml)中添加Redis配置信息。例如,
```
spring.redis.host=127.0.0.1
spring.redis.port=6379
```
2. 创建一个Redis连接池配置类,并使用@Configuration注解进行标记。如下所示:
```java
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
public class RedisConfig {
@Value("${spring.redis.host}")
private String redisHost;
@Value("${spring.redis.port}")
private int redisPort;
@Bean
public RedisConnectionFactory redisConnectionFactory() {
RedisStandaloneConfiguration config = new RedisStandaloneConfiguration(redisHost, redisPort);
return new LettuceConnectionFactory(config);
}
@Bean
public RedisTemplate<String, Object> redisTemplate() {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(redisConnectionFactory());
template.setKeySerializer(new StringRedisSerializer());
return template;
}
}
```
3. 在项目中使用@Autowired注解来注入RedisTemplate,并使用它来操作Redis数据库。例如,用于添加前缀的方法如下:
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
@Service
public class RedisService {
private static final String PREFIX = "YOUR_PREFIX:";
@Autowired
private RedisTemplate<String, Object> redisTemplate;
public void set(String key, Object value) {
redisTemplate.opsForValue().set(PREFIX + key, value);
}
public Object get(String key) {
return redisTemplate.opsForValue().get(PREFIX + key);
}
}
```
在上面的例子中,通过在key前添加"YOUR_PREFIX:",实现了给Redis的key添加前缀。您可以根据需要自定义前缀的内容。
需要注意的是,Redis中的key应该遵循某种命名规范以保持整体的清晰和可维护性。
阅读全文