이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 14268|회답: 0

[출처] 【실전 전투】스프링 부트 통합 Redis 튜토리얼

[링크 복사]
게시됨 2019. 3. 11. 오후 4:48:17 | | | |
이 예외는 SpringBoot에 RedisTemplate 인스턴스를 주입함으로써 해결됩니다
https://www.itsvse.com/thread-7224-1-1.html
(출처: Architect_Programmer)
'threadRedisTemplate'이라는 이름의 빈 생성 오류, 정의된 이름은...
https://www.itsvse.com/thread-7225-1-1.html
(출처: Architect_Programmer)

환경:스프링 부트 2.1.1.RELEASE
pom.xml 참조를 추가하고 다음과 같이 구성하세요:



application.properties에서 다음과 같이 구성하세요:


spring-boot-starter-data-redis의 구성 변경에 대해 이야기해 봅시다
https://www.itsvse.com/thread-7207-1-1.html
(출처: Architect_Programmer)

테스트 컨트롤러를 작성하세요:


브라우저를 통해 컨트롤러에 접근한 후 redis 클라이언트를 통해 캐시를 확인합니다.

spring redis에는 StringRedisTemplate과 RedisTemplate 두 가지 템플릿이 있으며, 이 두 템플릿을 통해 데이터를 테스트하고 itsvse와 itsvse2 키값 쌍을 다음과 같이 삽입합니다:



같은 값을 삽입했는데, 값 값 형식뿐만 아니라 키 생성 규칙도 다릅니다.(아래에 글에 적혀 있습니다)

원칙에 대한 간략한 분석

RedisTemplate과 StringRedisTemplate이 사용하는 직렬화 방식을 살펴보세요.

StringRedisTemplate이 상속된 RedisTemplate임을 알 수 있습니다. 그 다음 문자열 직렬화 메서드를 StringRedisSerializer로 설정하세요.

RedisSerializer.string() 소스 코드:


UTF_8 정의:
다음으로 RedisTemplate의 직렬화 코드를 살펴보겠습니다. 기본적으로 JDK 직렬화 메서드인 JdkSerializationRedisSerializer를 사용하는 것을 알 수 있습니다:



소스 코드를 조회해 보면 RedisTemplate은 기본적으로 직렬화에 JdkSerializationRedisSerializer를 사용하고, StringRedisTemplate은 StringRedisSerializer를 사용합니다.

참고:두 사람의 데이터는 흔하지 않습니다; 즉, StringRedisTemplate은 StringRedisTemplate 내 데이터만 관리할 수 있고, RedisTemplate은 RedisTemplate 내 데이터만 관리할 수 있습니다.

이것은 우리가 템플릿을 통해 덧셈 연산을 수행했고, 다양한 데이터 형식이 있다는 것을 설명해 줍니다.

직렬화 모드를 토글하세요

기본 직렬화 방법을 사용하지 않으려면, fastjson을 사용한다면, RedisTemplate 빈을 Springboot가 주입한 원래 빈을 대체하도록 커스터마이즈해야 합니다:



(끝)




이전의:풀뿌리 조직은 재능을, 중간 수준은 덕을 보고, 최상위 수준은 정신을 봅니다
다음:Microsoft.Web.Infrastructure 솔루션에서 파일이나 어셈블리를 불러오지 못했습니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com