做个记录
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
出现问题一:
如果项目有叹号出现可能是jar没有添加完成,运行入口文件,看缺了那个类,去maven仓库删除上一级文件夹,让maven重新下载jar包即可。
在application.properties中连接到Redis数据库的配置
#Redis
spring.redis.database=0
spring.redis.host=192.168.114.129
spring.redis.port=6379
spring.redis.password=123456
spring.redis.pool.max-active=8
spring.redis.pool.max-wait=-1
spring.redis.pool.max-idle=8
spring.redis.pool.min-idle=0
spring.redis.timeout=3000
测试是否能实现
@RunWith(SpringRunner.class)
@SpringBootTest
public class Springboot01ApplicationTests {
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Autowired
private RedisTemplate redisTemplate;
@Test
public void test() throws Exception {
stringRedisTemplate.opsForValue().set("aaa", "111");
Assert.assertEquals("111", stringRedisTemplate.opsForValue().get("aaa"));
}
@Test
public void testObj() throws Exception {
User user=new User(1,"aa666",22);
ValueOperations<String, User> operations=redisTemplate.opsForValue();
operations.set("aa", user);
//operations.set("aa", user,1,TimeUnit.SECONDS);
//Thread.sleep(1000);
//redisTemplate.delete("com.neo.f");
boolean exists=redisTemplate.hasKey("aa");
if(exists){
System.out.println("exists is true"+(User)redisTemplate.boundValueOps("aa").get());
redisTemplate.delete("aa");
}else{
System.out.println("exists is false");
}
// Assert.assertEquals("aa", operations.get("com.neo.f").getUserName());
}
}
应用到项目中就要进行更多的配置
@Configuration
@EnableCaching
public class RedisConfig {
// @Bean
// public CacheManager cacheManager(RedisTemplate redisTemplate) {
// CacheManager cacheManager = new RedisCacheManager(redisTemplate);
// return cacheManager;
// }
@Bean //为了能键入对象设置RedisTemplate
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
redisTemplate.setConnectionFactory(factory);
return redisTemplate;
}
@Bean
public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory factory) {
StringRedisTemplate stringRedisTemplate = new StringRedisTemplate();
stringRedisTemplate.setConnectionFactory(factory);
return stringRedisTemplate;
}
}
常用的方法:
设置redis:opsForValue().set(key, Objece)
读取redis:boundValueOps(key).get() 返回value