Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion src/main/java/com/redis/cluster/entity/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
@NoArgsConstructor // 인자없는 생성자를 자동으로 생성합니다.
@AllArgsConstructor // 인자를 모두 갖춘 생성자를 자동으로 생성합니다.
@Table(name = "user") // 'user' 테이블과 매핑됨을 명시
//@RedisHash("user")
public class User implements Serializable {
@Id // pk
@GeneratedValue(strategy = GenerationType.IDENTITY)
Expand Down
19 changes: 19 additions & 0 deletions src/main/java/com/redis/cluster/entity/redis/Student.java
Original file line number Diff line number Diff line change
@@ -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;
}
}
Original file line number Diff line number Diff line change
@@ -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<Student, Long> {
}

32 changes: 32 additions & 0 deletions src/test/java/com/redis/cluster/RedisClusterTest.java
Original file line number Diff line number Diff line change
@@ -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;
Expand Down Expand Up @@ -29,6 +31,9 @@ public class RedisClusterTest {
@Autowired
private RedisTemplate<String, String> redisTemplate;

@Autowired
private StudentRedisRepo redisRepo;

/**
* 문자 데이터 구조 처리
*/
Expand Down Expand Up @@ -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());
}
}