From 4e989fabf200c074e529bbf424fb8e99017ecda2 Mon Sep 17 00:00:00 2001 From: kimyonghwa Date: Sun, 19 May 2019 02:39:22 +0900 Subject: [PATCH] add TestCase @RedisHash --- .../java/com/redis/cluster/entity/User.java | 1 - .../redis/cluster/entity/redis/Student.java | 19 +++++++++++ .../cluster/repo/redis/StudentRedisRepo.java | 8 +++++ .../com/redis/cluster/RedisClusterTest.java | 32 +++++++++++++++++++ 4 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/redis/cluster/entity/redis/Student.java create mode 100644 src/main/java/com/redis/cluster/repo/redis/StudentRedisRepo.java diff --git a/src/main/java/com/redis/cluster/entity/User.java b/src/main/java/com/redis/cluster/entity/User.java index fe947ef..db89e56 100644 --- a/src/main/java/com/redis/cluster/entity/User.java +++ b/src/main/java/com/redis/cluster/entity/User.java @@ -17,7 +17,6 @@ @NoArgsConstructor // 인자없는 생성자를 자동으로 생성합니다. @AllArgsConstructor // 인자를 모두 갖춘 생성자를 자동으로 생성합니다. @Table(name = "user") // 'user' 테이블과 매핑됨을 명시 -//@RedisHash("user") public class User implements Serializable { @Id // pk @GeneratedValue(strategy = GenerationType.IDENTITY) diff --git a/src/main/java/com/redis/cluster/entity/redis/Student.java b/src/main/java/com/redis/cluster/entity/redis/Student.java new file mode 100644 index 0000000..41a1a75 --- /dev/null +++ b/src/main/java/com/redis/cluster/entity/redis/Student.java @@ -0,0 +1,19 @@ +package com.redis.cluster.entity.redis; + +import lombok.Builder; +import lombok.Getter; +import org.springframework.data.annotation.Id; +import org.springframework.data.redis.core.RedisHash; + +@Getter +@Builder +@RedisHash("student") +public class Student { + @Id + private long studentId; + private String name; + + public void update(String name) { + this.name = name; + } +} diff --git a/src/main/java/com/redis/cluster/repo/redis/StudentRedisRepo.java b/src/main/java/com/redis/cluster/repo/redis/StudentRedisRepo.java new file mode 100644 index 0000000..b5c0f47 --- /dev/null +++ b/src/main/java/com/redis/cluster/repo/redis/StudentRedisRepo.java @@ -0,0 +1,8 @@ +package com.redis.cluster.repo.redis; + +import com.redis.cluster.entity.redis.Student; +import org.springframework.data.repository.CrudRepository; + +public interface StudentRedisRepo extends CrudRepository { +} + diff --git a/src/test/java/com/redis/cluster/RedisClusterTest.java b/src/test/java/com/redis/cluster/RedisClusterTest.java index 915c67c..215e90f 100644 --- a/src/test/java/com/redis/cluster/RedisClusterTest.java +++ b/src/test/java/com/redis/cluster/RedisClusterTest.java @@ -1,5 +1,7 @@ package com.redis.cluster; +import com.redis.cluster.entity.redis.Student; +import com.redis.cluster.repo.redis.StudentRedisRepo; import org.junit.Test; import org.junit.runner.RunWith; import org.slf4j.Logger; @@ -29,6 +31,9 @@ public class RedisClusterTest { @Autowired private RedisTemplate redisTemplate; + @Autowired + private StudentRedisRepo redisRepo; + /** * 문자 데이터 구조 처리 */ @@ -191,4 +196,31 @@ public void commonCommand() { // Key 일괄 삭제 assertThat(redisTemplate.delete(Arrays.asList("key1", "key2", "key3")), greaterThan(0L)); } + + @Test + public void redisHash_Insert() { + long studentId = 1L; + String name = "행복하라"; + Student student = Student.builder().studentId(studentId).name(name).build(); + redisRepo.save(student); + + Student cachedStudent = redisRepo.findById(studentId).orElse(null); + assertNotNull(cachedStudent); + assertEquals(1L, cachedStudent.getStudentId()); + assertEquals(name, cachedStudent.getName()); + } + + @Test + public void redisHash_Update() { + long studentId = 1L; + String name = "행복하라"; + Student student = Student.builder().studentId(studentId).name(name).build(); + student.update("정직하라"); + redisRepo.save(student); + + Student cachedStudent = redisRepo.findById(studentId).orElse(null); + assertNotNull(cachedStudent); + assertEquals(1L, cachedStudent.getStudentId()); + assertEquals("정직하라", cachedStudent.getName()); + } }