전체 목록을 redis에 넣고 싶지만, 단지 RightPush 메서드 만 사용할 수 있습니다. 그 목록에있는 모든 항목을 반복해야하고 RightPush 여러 번 각 항목을 반복해야합니다. 나는 그것이 현명한 방법이 아니라고 생각하고 성능을 희생합니다.항목을 "RightPush"대신 여러 번 전체 목록 값을 여러 번 넣을 수 있습니까?
항목을 여러 번 RightPush하는 대신 한 번만 전체 목록 값을 넣을 수 있습니까?
전체 목록을 redis에 넣고 싶지만, 단지 RightPush 메서드 만 사용할 수 있습니다. 그 목록에있는 모든 항목을 반복해야하고 RightPush 여러 번 각 항목을 반복해야합니다. 나는 그것이 현명한 방법이 아니라고 생각하고 성능을 희생합니다.항목을 "RightPush"대신 여러 번 전체 목록 값을 여러 번 넣을 수 있습니까?
항목을 여러 번 RightPush하는 대신 한 번만 전체 목록 값을 넣을 수 있습니까?
레디 스 RPUSH
command 여러 인수를 지원합니다 - 그래서 당신은 실행할 수 있습니다 : 그것은 보이는 문서를 보면
RPUSH myList 1
RPUSH myList 2
# ... etc. ...
: 오히려 10 개 명령을 실행하는 대신 (예를 들어)
RPUSH myList 1 2 3 4 5 6 7 8 9 10
명령을 이 은 일 수 있고 org.springframework.data.redis.support.collections.DefaultRedisList
(아, 자바)의 인스턴스가 가능합니다. addAll
메서드는 Collection
입니다.
그러나 DefaultRedisList
이 redis.core.ListOperations
을 사용하여 구현 된 경우 RPUSH key value1 [...valueN]
을 직접 구현해야 할 수도 있습니다.
불행히도,'DefaultRedisList' v1.0.2 구현 클래스에서는 for 루프에서'ListOperations.RightPush'를 직접 사용합니다. –
@Sean Viera의 방법을 통해 전체 목록을 보면서 어떤 종류의 실행 시간을보고 있습니까? 내 추측으로는 소비되는 시간의 대부분이 항목을 하나씩 메모리에 삽입하는 대신 네트워크를 통해 목록을 보내는 데 소비되는 시간입니다. 한 번에 모든 것을 삽입하는 것이 아무런 효과가 없다고 생각됩니다. – Eli