SpringBoot 통합 Lettuce redis 프로 세 스 분석
Lettuce 와 Jedis 는 모두 Redis Server 를 연결 하 는 클 라 이언 트 프로그램 입 니 다.Jedis 는 연결 풀 을 사용 하지 않 는 한 모든 Jedis 인 스 턴 스 에 물리 적 연결 을 추가 합 니 다.Lettuce 는 Netty 의 연결 인 스 턴 스(Stateful RedisConnection)를 기반 으로 여러 스 레 드 간 에 동시 방문 할 수 있 고 스 레 드 가 안전 하 며 다 중 스 레 드 환경 에서 의 동시 방문 을 만족 시 킬 수 있 으 며 신축 가능 한 디자인 이 며 연결 인 스 턴 스 가 부족 한 경우 에 도 필요 에 따라 연결 인 스 턴 스 를 추가 할 수 있 습 니 다.
1.의존 도 추가
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
2,redis 설정 추가
spring:
redis:
host: ****
password:****
port: 6379
# ( )
timeout: 1000
# Redis 16 , , 0
database: 0
#
lettuce:
pool:
# ( ) 8
max-active: 8
# ( ) -1
max-wait: -1
# 8
max-idle: 8
# 0
min-idle: 0
3.논리 실현
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Override
public String testRedis(){
ExecutorService executorService = Executors.newFixedThreadPool(1000);
IntStream.range(0, 1000).forEach(i -> executorService.execute(() -> stringRedisTemplate.opsForValue().increment("lcl",1)));
System.out.println("lcl1=============" + stringRedisTemplate.opsForValue().get("lcl"));
stringRedisTemplate.opsForValue().set("lcl1","val1");
String val1 = stringRedisTemplate.opsForValue().get("lcl1");
System.out.println("lcl1=============" + val1);
String key = "redis:test:demo1";
User user = new User();
user.setId(100L);
user.setUsername("u2");
user.setPassword("p2");
stringRedisTemplate.opsForValue().set(key, JSON.toJSONString(user));
String valUser = stringRedisTemplate.opsForValue().get(key);
System.out.println("redis:test:demo1=============" + valUser);
User getUser = JSON.parseObject(valUser, User.class);
System.out.println("redis:test:demo1=============" + getUser.getUsername()+ "========" + getUser.getPassword());
return null;
}
테스트 결과:redis 는 String,list,set,zset,hash,geo 등 유형 이 있 기 때문에 사용 할 때 opsForValue()방법 만 사용 하 는 것 이 아니 라 구체 적 인 대응 방법 은 다음 과 같다.
opsForValue:대응 하 는 String(문자열)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.