spring boot에 레디스 클러스트와 연동하는 코드를 작성했는데,
http://docs.spring.io/spring-data/redis/docs/current/reference/html/#cluster 예제를 사용하면 잘 동작한다.
build.gradle 추가
compile("org.springframework.data:spring-data-redis:1.7.2.RELEASE")
compile("redis.clients:jedis:2.8.1")
applicationproperties
spring.redis.cluster.nodes=...
spring.redis.cluster.timeout=5
spring.redis.cluster.max-redirects=3
코드
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
@ConfigurationProperties(prefix = "spring.redis.cluster")
public class ClusterConfigurationProperties {
List<String> nodes;
public List<String> getNodes() {
return nodes;
}
public void setNodes(List<String> nodes) {
this.nodes = nodes;
}
}
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.ListOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Set;
@Service
public class RedisClusterService {
@Autowired
private RedisTemplate<String, String> redisTemplate;
@Resource(name="redisTemplate")
private ListOperations<String, String> listOps;
public void addKeyValue(String key, String value) {
listOps.leftPush(key, value);
}
public String getKey(String key) {
return listOps.rightPop(key);
} }
set, zset, list, 일반 key-value에 대한 command는 아래 커맨드를 사용하여 의미있는 커맨드를 카테고리 별로 확인/실행할 수 있다.
redisTemplate.opsForSet() redisTemplate.opsForZSet() redisTemplate.opsForValue() redisTemplate.opsForList()
...
'general java' 카테고리의 다른 글
[spring boot] multi-datasource (multi db) 간단하게 사용하기 (0) | 2016.06.29 |
---|---|
[spring-jdbctemplate] mysql date 타입을 rowmapper와 연동하기 (0) | 2016.06.24 |
play1 framework 유틸리티 살펴보기 - play help (0) | 2016.06.13 |
FilenameUtils 클래스 사용 예제 (0) | 2016.06.02 |
[play1] 버전 업하기 1.3.0 -> 1.3.4 (또는 1.4.2) (0) | 2016.05.26 |