# InMemory Cache

**InMemory Cache 노드**는 실행 중 생성되는 데이터를 일시적으로 메모리에 저장하여, 이후 노드에서 재사용할 수 있도록 하는 **캐시 기능 노드**입니다. 복잡한 파이프라인에서 동일한 계산 결과를 여러 번 참조해야 할 때, **성능 최적화 및 중복 처리 방지**를 위해 사용됩니다.&#x20;

***

### 주요 기능

* **데이터 임시 저장**: 노드 실행 중 생성된 결과를 메모리에 캐싱
* **재사용 가능**: 동일 세션 내에서 다른 노드가 이 데이터를 다시 활용 가능
* **연결 간소화**: 중간 결과를 반복 계산하지 않고 효율적으로 전달

<figure><img src="https://2658622170-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkjMyYilRWTdXwhLDYHx%2Fuploads%2Fgit-blob-c435f62a0d817346852ce5dd90c360aa0afebeb3%2F%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%202025-05-08%20165857.png?alt=media" alt=""><figcaption><p>WindyFlo InMemory Cahce</p></figcaption></figure>

### 입력값 (Inputs)

**없음**\
※ 입력 없이 내부 캐시 구조에 따라 자동으로 연결된 노드 출력을 저장합니다.

***

### 출력값 (Outputs)

| 출력 항목             | 설명                                       |
| ----------------- | ---------------------------------------- |
| **InMemoryCache** | 메모리에 저장된 데이터를 출력하여 다른 노드에서 재활용할 수 있도록 제공 |

***

### 활용 예시

1. **중복 데이터 참조 방지**\
   → LLM에서 생성된 중간 결과를 캐시에 저장 → 후속 노드에서 그대로 사용
2. **파이프라인 성능 최적화**\
   → 고비용 계산(예: 대형 모델 추론 결과)을 캐싱하여 여러 노드에서 재사용
3. **데이터 처리 파이프라인 내 공유**\
   → 같은 결과를 여러 경로에서 동시에 참조할 때 유용

***

### 사용 팁

* InMemory Cache는 세션 내에서만 유지됩니다. 세션이 종료되면 캐시도 소멸됩니다.
* 반복 실행 시 항상 최신 결과를 사용하려면, **캐시가 아닌 직접 연결**을 권장합니다.
* 단일 결과를 여러 곳에 연결해야 하는 구조에서 **Branch 노드 없이 캐시로 분기 처리**가 가능합니다.

***

InMemory Cache는 복잡한 파이프라인을 효율적으로 구성하고 실행 속도를 높일 수 있는 **간단하지만 강력한 유틸리티 노드**입니다.
