Java java지도 시간 배치 쿼리에 redistemplate을 사용할 때 반환 값이 비어있는 이유는 무엇입니까? 이 문제를 해결하는 방법?

배치 쿼리에 redistemplate을 사용할 때 반환 값이 비어있는 이유는 무엇입니까? 이 문제를 해결하는 방법?

Apr 19, 2025 pm 05:48 PM
redis 키 값 쌍 red

이 기사는 배치 쿼리에 스프링 데이터 Redis의 RedisTemplate 사용할 때 반환 값이 비어있는 이유를 분석하고 해당 솔루션을 제공합니다. Batch GET 작동을 위해 executePipelined 메소드를 사용하는 경우 결과가 파이프 라인 내부에서 직접 처리되면 반환 값이 비어 있습니다. 이는 파이프 라인 작업이 모든 명령을 캐시하고 executePipelined 호출 될 때까지 Redis 서버로 전송되지 않으며 내부 처리는 적시 반환을 얻을 수 없기 때문입니다.

질문 설명 :

기사에 두 가지 오류 예제가 제시되어 있으며, 둘 다 executePipelined 내부의 GET 명령 결과를 처리하려고 시도하여 최종 반환 목록이 모두 null 됩니다.

문제 분석 및 솔루션 :

문제의 핵심은 파이프 라인 작업의 비동기 특성에 있습니다. executePipelined 메소드가 결과를 반환 한 다음 균일하게 처리 한 후 올바른 접근 방식을 수행해야합니다. 이 기사에서 제공된 첫 번째 방법은 루프 내에서 필사적으로 파이프 라인 작업의 효율성을 파괴합니다. 두 번째 방법은 SessionCallback 사용하지만 여전히 파이프 라인 내부에서 결과 처리를 수행합니다.

개선 된 솔루션 :

개선 된 batchGetList 메소드는이 기사에 제공되며 executePipelined 의 반환 값을 올바르게 활용합니다.

 공공의<t> 목록<t> BatchgetList (수집<string> 키) {
    if (collectionUtil.isempty (키)) {
        새로운 ArrayList  ()를 반환합니다.
    }

    목록<object> results = redistemplate.executePipelined ((readisconnection connection) -> {
        재화화물<string> Keyserializer = (재조류<string> ) redistemplate.getKeyserializer ();
        for (문자열 키 : 키) {
            Connection.get (Keyserializer.serialize (key));
        }
        널 리턴;
    });

    // 외부 처리 실행 결과 파이프 라인 return results.stream ()
                  .map (result-> (t) redistemplate.getValueserializer (). deserialize ((byte []) 결과))
                  .collect (collectors.tolist ());
}</string></string></object></string></t></t>
로그인 후 복사

이 방법은 먼저 keys 비어 있는지 확인한 다음 executePipelined 사용하여 배치 GET 작업을 수행합니다. 핵심은 파이프 라인 실행이 완료된 후 Stream API를 사용하여 results 목록을 통과하고 redisTemplate.getValueSerializer().deserialize 사용하여 각 결과를 제거하고 결국 올바른 데이터가 포함 된 목록을 반환한다는 것입니다. 이는 파이프 라인 내부의 결과를 처리하는 잘못된 관행을 피하고 REDIS의 데이터가 올바르게 검색되도록합니다. 이 방법은 모든 키 값 쌍이 동일한 사막화제를 사용한다고 가정합니다. 여러 데이터 유형이있는 경우 실제 조건에 따라 조정해야합니다.

배치 쿼리에 redistemplate을 사용할 때 반환 값이 비어있는 이유는 무엇입니까? 이 문제를 해결하는 방법?

위 내용은 배치 쿼리에 redistemplate을 사용할 때 반환 값이 비어있는 이유는 무엇입니까? 이 문제를 해결하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

HDFS에서 CentOS를 구성하는 데 어떤 단계가 필요합니까? HDFS에서 CentOS를 구성하는 데 어떤 단계가 필요합니까? Apr 14, 2025 pm 06:42 PM

Centos 시스템에서 Hadoop 분산 파일 시스템 (HDF)을 구축하려면 여러 단계가 필요합니다. 이 기사는 간단한 구성 안내서를 제공합니다. 1. 초기 단계에서 JDK를 설치할 준비 : 모든 노드에 JavadevelopmentKit (JDK)을 설치하면 버전이 Hadoop과 호환되어야합니다. 설치 패키지는 Oracle 공식 웹 사이트에서 다운로드 할 수 있습니다. 환경 변수 구성 : /etc /프로파일 파일 편집, Java 및 Hadoop 설정 설정 시스템에서 JDK 및 Hadoop의 설치 경로를 찾을 수 있습니다. 2. 보안 구성 : SSH 비밀번호가없는 로그인 SSH 키 : 각 노드에서 ssh-keygen 명령을 사용하십시오.

메모장에서 JSON을 포맷하는 방법 메모장에서 JSON을 포맷하는 방법 Apr 16, 2025 pm 07:48 PM

Notepad의 JSON Viewer 플러그인을 사용하여 JSON 파일을 쉽게 포맷하십시오. JSON 파일을 엽니 다. JSON 뷰어 플러그인을 설치하고 활성화하십시오. "플러그인"으로 이동하십시오. & gt; "JSON 뷰어"& gt; "형식 JSON". 계약, 분기 및 정렬 설정을 사용자 정의하십시오. 형식을 적용하여 가독성과 이해를 향상시켜 JSON 데이터의 처리 및 편집을 단순화하십시오.

CentOS7에 Redis를 설치하는 방법 7 CentOS7에 Redis를 설치하는 방법 7 Apr 14, 2025 pm 08:21 PM

공식 Redis 소스에서 소스 코드 패키지를 다운로드하여 최신 버전을 보장하고 개인화 된 방식으로 사용자 정의 할 수 있도록 컴파일하고 설치하십시오. 특정 단계는 다음과 같습니다. 소프트웨어 패키지 목록을 업데이트하고 Redis 디렉토리 생성 Redis 소스 코드 패키지 다운로드 소스 코드 패키지를 압축하고 설치 구성을 컴파일하고 Redis 구성을 수정하여 시작 상태를 확인하십시오.

Centos redis에서 느린 쿼리 로그를 구성하는 방법 Centos redis에서 느린 쿼리 로그를 구성하는 방법 Apr 14, 2025 pm 04:54 PM

CentOS 시스템에서 Redis Slow Query 로그를 활성화하여 성능 진단 효율성을 향상시킵니다. 다음 단계는 구성을 안내합니다. 1 단계 : Redis 구성 파일 찾기 및 편집 먼저, 일반적으로 /etc/redis/redis.conf에있는 redis 구성 파일을 찾으십시오. 다음 명령으로 구성 파일을 엽니 다. sudovi/etc/redis/redis.conf 2 단계 : 구성 파일에서 느린 쿼리 로그 매개 변수 조정, 다음 매개 변수를 찾고 수정하십시오.

HDFS 구성 센터에서 어떤 파일을 수정해야합니까? HDFS 구성 센터에서 어떤 파일을 수정해야합니까? Apr 14, 2025 pm 07:27 PM

CentOS에서 HDFS (Hadoop 분산 파일 시스템)를 구성 할 때 다음 주요 구성 파일을 수정해야합니다. core-site.xml : fs.defaultfs : hdfs : // localhost : 9000과 같은 HDFS의 기본 파일 시스템 주소를 지정합니다. Hadoop.tmp.dir : Hadoop 임시 파일의 스토리지 디렉토리를 지정합니다. hadoop.proxyuser.root.hosts 및 hadoop.proxyuser.ro

Centos에서 HDFS 파일 시스템을 사용하기위한 팁 Centos에서 HDFS 파일 시스템을 사용하기위한 팁 Apr 14, 2025 pm 07:30 PM

CentOS 시스템 하의 HDFS 파일 시스템에 대한 설치, 구성 및 최적화 안내서이 기사에서는 CentOS 시스템에 HDF (Hadoop Distributed File System)를 설치, 구성 및 최적화하는 방법을 안내합니다. HDFS 설치 및 구성 Java 환경 설치 : 먼저 적절한 Java 환경이 설치되어 있는지 확인하십시오. /etc/profile 파일 편집, 다음을 추가하고 /usr/lib/java-1.8.0/jdk1.8.0_144를 실제 Java 설치 경로로 바꾸십시오 : Exportjava_home =/usr/lib/java-1.8.0/jdk1.8.0_144 exportpath = $ j

DICR/YII2-Google을 사용하여 YII2에서 Google API를 통합합니다 DICR/YII2-Google을 사용하여 YII2에서 Google API를 통합합니다 Apr 18, 2025 am 11:54 AM

vprocesserazrabotkiveb-enclosed, мнепришлостольносться악 · 뇨 зейейерациигоглапи혁 맥발 추배. LeavallysumballancefriAblancefaumdoMatification, čtookazalovnetakprosto, Kakaožidal.posenesko

Redis 캐시 솔루션을 사용하여 제품 순위 목록의 요구 사항을 효율적으로 실현하는 방법은 무엇입니까? Redis 캐시 솔루션을 사용하여 제품 순위 목록의 요구 사항을 효율적으로 실현하는 방법은 무엇입니까? Apr 19, 2025 pm 11:36 PM

Redis 캐싱 솔루션은 제품 순위 목록의 요구 사항을 어떻게 인식합니까? 개발 과정에서 우리는 종종 a ... 표시와 같은 순위의 요구 사항을 처리해야합니다.

See all articles