mod_mem_cache - Apache HTTP Server Version 2.2

Apache HTTP Server Version 2.2

Apache > HTTP Server > Documentation > Version 2.2 > 모듈

#### Please note

This document refers to a legacy release (2.2) of Apache httpd. The active release (2.4) is documented here. If you have not already upgraded, please follow this link for more information.

You may follow this link to go to the current version of this document.

# 아파치 모듈 mod_mem_cache

가능한 언어: en | ja | ko

이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요.

설명: | URI를 키로 사용하여 내용을 캐쉬한다.
상태: | Experimental
모듈명: | mem_cache_module
소스파일: | mod_mem_cache.c

### 요약

이 모듈은 실험적인 상태이다. 문서는 아직 작업중이다...

이 모듈을 사용하려면 `mod_cache`가 필요하다. 이 모듈은 `mod_cache`를 지원하며 메모리기반 저장관리자를 제공한다. `mod_mem_cache`는 파일기술자를 캐쉬에 저장하거나 객체를 힙 공간에 캐쉬하는 두가지 방식으로 동작한다. `mod_mem_cache`는 직접 서버가 생성한 페이지를 캐쉬하거나 `ProxyPass`로 설정한 (역프록시(reverse proxy)) `mod_proxy`의 뒷단 서버내용을 캐쉬할때 주로 사용한다.

내용은 URI를 키로 사용하여 캐쉬에 저장하고 가져온다. 접근을 제어하는 내용은 캐쉬에 저장하지 않는다.

### 지시어들

### 참고

- `mod_cache`
- `mod_disk_cache`

- Comments

## MCacheMaxObjectCount 지시어

설명: | 캐쉬에 저장할 수 있는 최대 객체개수
문법: | `MCacheMaxObjectCount value`
기본값: | `MCacheMaxObjectCount 1009`
사용장소: | 주서버설정
상태: | Experimental
모듈: | mod_mem_cache

`MCacheMaxObjectCount` 지시어는 캐쉬할 수 있는 최대 객체개수를 설정한다. 이 값은 해쉬테이블을 만들때 사용한다. 새로운 객체를 캐쉬에 추가해야 하는데 최대 객체개수에 도달하였다면, 새로운 객체를 캐쉬할 수 있도록 다른 객체를 제거한다. `MCacheRemovalAlgorithm`으로 지정한 알고리즘을 사용하여 제거할 객체를 선택한다.

### 예제

`MCacheMaxObjectCount 13001`

## MCacheMaxObjectSize 지시어

설명: | 캐쉬에 저장할 문서의 최대 크기 (바이트 단위)
문법: | `MCacheMaxObjectSize bytes`
기본값: | `MCacheMaxObjectSize 10000`
사용장소: | 주서버설정
상태: | Experimental
모듈: | mod_mem_cache

`MCacheMaxObjectSize` 지시어는 캐쉬에 저장할 문서의 최대 크기를 바이트 단위로 지정한다.

### 예제

`MCacheMaxObjectSize 6400000`

### Note

`MCacheMaxObjectSize` 값은 `MCacheMinObjectSize` 지시어로 지정한 값보다 커야 한다.

## MCacheMaxStreamingBuffer 지시어

설명: | 응답을 캐쉬안한다고 결정하기 전까지 메모리 버퍼에 저장할 스트림 응답의 최대 크기
문법: | `MCacheMaxStreamingBuffer size_in_bytes`
기본값: | `MCacheMaxStreamingBuffer 100000과 MCacheMaxObjectSize 중에 작은 값`
사용장소: | 주서버설정
상태: | Experimental
모듈: | mod_mem_cache

`MCacheMaxStreamingBuffer` 지시어는 응답이 너무 커서 캐쉬할 수 없을때까지 버퍼에 저장할 스트림 응답의 최대 바이트수를 설정한다. 스트림 응답(streamed response)은 전체 내용을 즉시 알 수 없고 `Content-Length`도 모르는 응답이다. 프록시된 응답이나 CGI 스크립트의 출력이 스트림 응답에 속한다. 기본적으로 `Content-Length` 헤더가 없다면 스트림 응답을 캐쉬에 저장하지 않는다. 이유는 캐쉬에 저장하기에 너무 큰 응답의 일부를 버퍼에 저장하기위해 많은 메모리를 낭비하지 않기위해서이다. `MCacheMaxStreamingBuffer` 지시어를 사용하면 `Content-Length`가 없는 스트림 응답을 지정한 크기까지만 버퍼에 저장한다. 최대 크기를 넘어서면 버퍼 내용을 버리고 캐쉬하지 않는다.

### 주의:

`MCacheMaxStreamingBuffer`에 0이 아닌 값을 설정하여도 클라이언트로 응답을 늦게 보내지 않는다. `mod_mem_cache`는 스트림 응답의 일부를 버퍼에 복사하자마자 클라이언트로 보내기위해 다음 출력필터로 보낸다.

`# 스트림 응답을 64KB까지 캐쉬한다:
MCacheMaxStreamingBuffer 65536`

## MCacheMinObjectSize 지시어

설명: | 캐쉬에 저장할 문서의 최소 크기 (바이트 단위)
문법: | `MCacheMinObjectSize bytes`
기본값: | `MCacheMinObjectSize 0`
사용장소: | 주서버설정
상태: | Experimental
모듈: | mod_mem_cache

`MCacheMinObjectSize` 지시어는 캐쉬에 저장할 문서의 최소 크기를 바이트 단위로 지정한다.

### 예제

`MCacheMinObjectSize 10000`

## MCacheRemovalAlgorithm 지시어

설명: | 캐쉬에서 제거할 문서를 찾는 알고리즘
문법: | `MCacheRemovalAlgorithm LRU|GDSF`
기본값: | `MCacheRemovalAlgorithm GDSF`
사용장소: | 주서버설정
상태: | Experimental
모듈: | mod_mem_cache

`MCacheRemovalAlgorithm` 지시어는 캐쉬에서 제거할 문서를 찾는 알고리즘을 지정한다.

`LRU` (Least Recently Used)
  `LRU`는 가장 오래동안 접근하지 않은 문서를 먼저 제거한다.
`GDSF` (GreadyDual-Size)
  `GDSF`는 캐쉬 실패(cache miss) 비용과 문서의 크기를 가지고 캐쉬한 문서에 우선순위를 부여한다. 가장 우선순위가 낮은 문서를 먼저 제거한다.

### 예제

`MCacheRemovalAlgorithm GDSF
MCacheRemovalAlgorithm LRU`

## MCacheSize 지시어

설명: | 캐쉬에 사용할 최대 메모리량 (KByte 단위)
문법: | `MCacheSize KBytes`
기본값: | `MCacheSize 100`
사용장소: | 주서버설정
상태: | Experimental
모듈: | mod_mem_cache

`MCacheSize` 지시어는 캐쉬에 사용할 최대 메모리량을 KByte 단위로 (1024 바이트 단위) 설정한다. 새로운 객체을 캐쉬에 추가해야 하는데 객체의 크기가 남은 메모리보다 크다면 새로운 객체을 캐쉬할 수 있을때까지 다른 객체를 제거한다. `MCacheRemovalAlgorithm`으로 지정한 알고리즘을 사용하여 제거할 객체를 선택한다.

### 예제

`MCacheSize 700000`

### 주의

`MCacheSize` 값은 `MCacheMaxObjectSize` 지시어로 지정한 값보다 커야 한다.

가능한 언어: en | ja | ko

## Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.