안녕하세요.
자바에서 카우치베이스 Object 생성 시 비동기로 Insert 하는 방법을 알아보겠습니다.
카우치베이스의 장점과 특성, 그리고 동기(sync) 방식으로 Insert 하는 방법은
아래 링크를 참조해주시면 됩니다.
▶카우치베이스(Couchbase) Java Insert 하기 (동기방식)
그럼 비동기로 insert 하는 방식입니다.
비동기로 멀티건을 insert 하는 예시 입니다.
public JsonDocument asyncBulkInsert(String insertJsonStr) { JsonDocument result = null; List
docList = new ArrayList<>(); for (int i = 0; i < 3; i++) { long nextIdNumber = bucket.counter(SAMPLE_COUNTER_KEY, 1).content(); String docId = "test_"+nextIdNumber; String testName = "Test " + nextIdNumber + " Name"; JsonObject content = JsonObject.fromJson(insertJsonStr); content.put("id", nextIdNumber); content.put("name", testName ); docList.add(JsonDocument.create(docId, content)); } // async bulkWrite result = Observable .from(docList) .flatMap(doc -> bucket.async().insert(doc)) .last() .toBlocking() .single(); return result; }
RxJava 와 람다 표현식으로 구현된 부분이며, 카우치베이스 자바 문서를 참조하실 수 있습니다.
비동기로 구현해야할 여러 케이스가 있을 수 있는데, 이와 같은 방법으로 Bulk Insert 할 수 있습니다.
이상입니다.
도움이 되셨다면 공감♥ 을 눌러주세요.
감사합니다.