springboot框架学习积累—SpringBoot数据访问-整合Redis
SpringBoot整合Redis
-
引入依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
-
编写实体类
Person
,Address
,通过@RedisHash
注解存储实体到Redis@RedisHash(value = "persons") //指定实体类对象在redis中的存储空间 public class Person { @Id // 用来标识实体类主键 字符串形式的hashkey标识唯一的实体类对象id private String id; @Indexed // 用来标识对应属性在redis中生成二级索引 private String firstname; @Indexed private String lastname; private Address address;
public class Address { @Indexed private String city; //城市 @Indexed private String country; //国家
-
编写
Repository
接口public interface PersonRepository extends CrudRepository<Person,String> { List<Person> findByAddress_City(String ۹Ղ); }
-
Redis数据库连接配置
#配置redis的连接配置 #redis服务器地址 spring.redis.host=127.0.0.1 #redis服务器连接端口 spring.redis.port=6379 #redis服务器连接密码 spring.redis.password=
-
测试
//测试整合redis @Autowired private PersonRepository personRepository; @Test public void savePerson(){ Person person = new Person(); person.setFirstname("张"); person.setLastname("三"); Address address = new Address(); address.setCity("北京"); address.setCountry("中国"); person.setAddress(address); // 向redis数据库中添加了数据 personRepository.save(person); } @Test public void selectPerson(){ List<Person> list = personRepository.findByAddress_City("北京"); for (Person person : list) { System.out.println(person); }