캐시 구성
캐시 구성 파일에는 등록된 모든 캐시/클러스터에 관한 정보가 포함되어 있습니다. 먼저 구성을 읽어야 하는 모듈은 다음을 찾으려고 합니다. config.ncconf 응용 프로그램 폴더, 즉 웹.구성. 면 config.ncconf 응용 프로그램 폴더에 없으면 설치 폴더에서 구성을 읽습니다.
주의 사항
이 파일은 다음과 같이 설치됩니다. NCache 에 위치하며 %NCHOME%\구성 Windows에서 NCache 디렉토리/구성 설치 리눅스에서.
캐시 구성 구문 및 태그
XNUMXD덴탈의 config.ncconf 파일은 아래에 설명되어 있습니다.
<!--
The configuration file (config.ncconf) contains the details of all the registered caches. All cache configurations are enclosed in the <configuration></configuration> tag. Whereas each cache detail is enclosed in <cache-config></cache-config>.
-->
<cache-config cache-name="demoCache" alias="" store-type="Distributed-Cache" config-id="6a49d9ce-9aa7-4312-ada6-4fec37a6e729" config-version="1">
<cache-settings inproc="False" last-modified="" auto-start="False" data-format="Serialized" serialization="Binary">
...
</cache-settings>
</cache-config>
cache-name
: 캐시 식별자입니다. 캐시는 여기에서 지정하는 이름으로 알려집니다. 이는 캐시를 초기화하는 동안 지정한 것과 동일한 이름입니다.
store-type
: 이 캐시가 사용될 목적을 지정합니다. 다음 가능한 값 중 하나를 가질 수 있습니다.
Distributed-Cache
Distributed-Cache-Persistence
Pub/Sub-Messaging
Distributed-Lucene
inproc
: 캐시가 InProc(응용 프로그램 프로세스에서) 또는 OutProc(응용 프로그램 프로세스에서)로 실행되는지 여부를 결정합니다. NCache 서비스 프로세스). "False"로 설정하면 캐시가 OutProc으로 실행되고, "True"로 설정하면 캐시가 InProc으로 실행됩니다.
config-version
: 구성이 수정되었는지 여부를 확인하는 데 사용됩니다.
config-id
: 수정된 구성에 대한 고유 ID를 자동 생성합니다.
last-modified
: 캐시 구성의 마지막 수정과 관련된 정보가 포함되어 있습니다.
auto-start
: 캐시 시작 시 캐시 자동 시작을 활성화합니다. (NCache Enterprise 만)
data-format
: 데이터가 캐시에 저장되는 형식으로 Serialized 또는 Object일 수 있습니다.
serialization
: 캐시의 직렬화 형식입니다. JSON 또는 바이너리일 수 있습니다.
<logging enable-logs="True" trace-errors="True" trace-notices="False" trace-warnings="False" trace-debug="False" log-path=""/>
NCache 정보 및 디버깅 목적으로 추적을 기록하기 위해 로그 파일을 유지 관리합니다. 이러한 태그를 사용하여 사용자는 다양한 추적을 활성화하거나 비활성화할 수 있습니다. 기본적으로 "오류" 추적만 활성화되고 나머지 추적은 비활성화됩니다. 오류 추적은 캐시 성능에는 영향을 미치지 않지만 다른 추적에는 영향을 미칩니다. 성능에 영향을 미치므로 프로덕션 환경에서는 활성화하지 않는 것이 좋습니다. NCache.
log-path
: 기본적으로 각 캐시에 대한 로그 파일은 다음 위치에 생성됩니다. %NCHOME%\로그 파일 Windows에서 NCache 디렉토리/로그 파일 설치 리눅스에서. 그러나 로그를 다른 곳에 저장하려는 경우 사용자 정의 경로를 지정할 수 있습니다.
<performance-counters enable-counters="True" snmp-port="0"/>
이 속성이 True로 설정된 경우 NCache 게시된 PerfMon 카운터를 업데이트합니다. False로 설정하면 NCache 게시된 PerfMon 카운터는 업데이트되지 않습니다.
<replication-strategy synchronous="False"/>
Partition-Replica의 경우 캐시 구성에서 이 태그를 찾을 수 있습니다. 복제 전략은 데이터가 백업 노드에 복제되는 방식을 정의합니다.
synchronous
: 이 속성은 True/False로 설정될 수 있습니다. False로 설정하면 데이터 작업이 백업 노드에서 비동기식으로 복제됩니다. True로 설정하면 데이터 작업이 백업 노드에서 동기식으로 복제됩니다.
<pipelining enabled="False" batch-interval="250usec"/>
파이프라이닝을 활성화하려면 파이프라이닝 활성화 태그를 True로 설정하고 배치 간격에 시간을 마이크로초(μs) 단위로 입력합니다. 기본값은 250μs이고 최소값과 최대값은 각각 50μs와 5000μs입니다.
<compression enable-compression="False" threshold="100kb"/>
이 XML 태그는 지정된 임계값보다 큰 항목을 클라이언트 측에서 압축/압축 해제해야 하는지 여부를 지정합니다.
enable-compression
: 압축을 활성화하려면 이 속성을 True로 설정하고, 그렇지 않으면 False로 설정합니다.
threshold
: 임계값 속성에 지정된 값보다 큰 항목은 압축이 활성화된 경우 클라이언트 측에서만 압축/압축 해제됩니다.
위에서 언급한 압축 태그 예에 따라 크기가 100kb보다 큰 항목만 클라이언트 측에서 압축/압축 해제됩니다.
<client-activity-notification enabled="False" retention-period="5sec"/>
Enabled
: 다른 클라이언트가 연결되거나 연결이 끊긴 경우 클라이언트가 알림을 받을 수 있도록 하려면 이 옵션을 활성화합니다.
retention-period
: 보존 기간은 연결이 끊긴 클라이언트가 연결이 끊긴 것으로 간주되는 시간 간격입니다.
<cache-notifications item-remove="False" item-add="False" item-update="False"/>
notifications
: XML 태그는 캐시에 등록된 이벤트를 지정합니다.
Item-add
: 이 속성은 True 또는 False로 설정될 수 있습니다. True로 설정하면 항목이 캐시에 추가될 때 알려줍니다. 마찬가지로 False로 설정하면 항목이 캐시에 추가되어도 알림이 발생하지 않습니다.
Item-remove
: 이 속성은 True 또는 False로 설정될 수 있습니다. True로 설정하면 항목이 캐시에서 제거될 때 알려줍니다. 마찬가지로 False로 설정하면 항목이 캐시에서 제거되어도 알림이 발생하지 않습니다.
Item-update
: 이 속성은 True 또는 False로 설정될 수 있습니다. True로 설정하면 캐시에서 항목이 업데이트될 때 알림을 보냅니다. 마찬가지로 False로 설정하면 캐시에서 항목이 업데이트되어도 알림이 발생하지 않습니다.
<cleanup interval="15sec"/>
cleanup
: XML 태그는 만료 항목을 확인하는 주기적인 간격을 지정합니다.
Interval:
"15초"로 설정하면 만료 확인이 15초마다 수행된다는 의미입니다.
<storage type="heap" cache-size="1024mb"/>
storage
: XML 태그는 캐시에 대한 저장소 관련 세부 정보를 지정합니다.
Type
: 이 속성은 현재 "힙"으로만 설정할 수 있습니다. NCache 힙 기반 저장소만 지원합니다.
Cache-size
: 이 속성은 캐시 크기의 상한을 MB 단위로 지정합니다.
<eviction-policy enabled-eviction="True" default-priority="normal" policy="lru" eviction-ratio="5%"/>
이 XML 태그는 제거를 수행할지 여부를 지정합니다. 제거가 활성화되면 캐시는 새 항목을 수용하기 위해 기존 항목을 제거합니다. 기존 아이템은 퇴거 전략에 따라 제거됩니다.
Enabled-eviction
: 제거를 활성화하려면 이 속성을 True로 설정하고, 그렇지 않으면 False로 설정합니다.
Policy
: 이 속성은 사용할 제거 정책을 지정합니다. 퇴거 정책은 다음 중 하나일 수 있습니다.
- LRU(가장 최근에 사용됨)(NCache Enterprise 만)
- LFU(가장 덜 자주 사용됨) (NCache Enterprise 만)
- 우선 순위 기반
Default-priority
: 해당 항목에 대해 우선순위가 지정되지 않은 경우 해당 항목과 연관된 기본 우선순위를 지정합니다. 이 속성은 다음과 같이 설정할 수 있습니다.
- 높은
- 정상 이상
- 표준
- 보통 이하의
- 낮은
이는 우선 순위 기반 퇴거의 경우에만 적용됩니다.
Eviction-ratio
: 제거가 수행될 때 제거되어야 하는 데이터의 비율을 지정합니다.
<expiration-policy enabled="True">
<absolute-expiration longer-enabled="False" longer-value="0" default-enabled="False" default-value="0"/>
<sliding-expiration longer-enabled="False" longer-value="0" default-enabled="False" default-value="0"/>
</expiration-policy>
enabled
: 만료 정책을 활성화합니다.
longer-enabled
: 더 긴 만료를 활성화할지 여부를 지정합니다. True인 경우 값을 제공해야 합니다.
longer-value
:long-enabled가 True이면 이 값이 만료에 사용됩니다.
default-enabled
: 기본 만료를 활성화할지 여부를 지정합니다. True인 경우 값도 제공되어야 합니다.
default-value
: default-enabled가 True이면 이 값이 만료에 사용됩니다.
<security>
<user id="john_smith" dn="CN=John Smith,OU=admin,DC=yourdomain,DC=org"/>
<user id="david_watson" dn="CN=David Watson,OU=admin,DC=yourdomain,DC=org"/>
<group id="DEV" dn="CN=DEV,OU=admin,DC=yourdomain,DC=org"/>
</security>
user
: 이 속성은 관리자 사용자 자격 증명을 지정합니다.
id
: 사용자의 ID를 지정합니다.dn
: 사용자의 고유 이름을 지정합니다.
group
: 이 속성은 그룹 세부정보를 지정합니다.
id
: 그룹의 이름을 지정합니다.dn
: 그룹의 고유 이름을 지정합니다.
<cache-topology topology="partition-replica">
<cluster-settings operation-timeout="60sec" stats-repl-interval="2sec" use-heart-beat="True">
...
</cluster-settings>
</cache-topology>
이 XML 태그는 클러스터 내 통신 세부 정보를 지정하는 데 사용되며 클러스터의 통신 세부 정보를 추가로 정의하는 하위 태그인 채널도 포함합니다.
이 태그는 로컬 캐시에 존재하지 않습니다.
topology
: 클러스터가 따르는 토폴로지를 지정합니다. 이는 다음 중 하나일 수 있습니다. NCache:
- 파티션-복제본 토폴로지(NCache Enterprise 만)
- 복제된 토폴로지
- 분할된 토폴로지
- 미러 토폴로지
operation-timeout
: 클러스터의 서버가 응답하지 않는 경우 서버 간 연결 시간 초과를 결정합니다.
stats-repl-interval
: (통계 복제 간격) 서버 간에 정보를 동기화하기 위해 클러스터에 제공되는 간격입니다.
use-heart-beat
: HeartBeat는 노드 간 연결을 모니터링하는 데 사용됩니다.
<data-persistence store-name="demoPersistenceCache_db">
<provider-settings provider-type="ncache-persistence" connection-string="lxxKK7Xqh0Tpm3rPvPOmYcCRYyeUV8f8NswyNRFum/uA0HXudbm6vWkXcnJ33GE9"/>
<operation-setting persistence-interval="1000ms" persistence-retries="3" persistence-interval-longer="60sec"/>
</data-persistence>
이 태그 data-persistence
지속성이 있는 분산 캐시의 설정을 결정하는 데 사용됩니다. 설정한 경우에만 나타납니다. store-type
as distributed-cache-persistence
. 다음과 같은 매개변수가 있습니다.
provider-type
: 이 매개변수는 사용 중인 지속성 공급자의 유형을 나타냅니다. distributed-cache-persistence
. 가치가 있다 ncache-persistence
.
connection-string
: 다음과의 연결을 결정하는 유효한 연결 문자열 provider-type
지정되었습니다.
persistence-interval
: 지속성 큐에 있는 작업이 지속성 저장소에 적용되는 간격입니다.
persistence-retries
: 지속성 배치 실패 후 지속성 간격이 지속성 간격이 길어진 경우 재시도 횟수입니다.
persistence-interval-longer
: 여러 번의 연속 실패가 지속성 재시도에 도달하면 간격이 지속성 간격이 길어지도록 설정됩니다.
<caching-modules>
<module name="lucene-net-4.8" enable="True">
<parameters name="IndexPath" value="C:\ProgramData\ncache\lucene-index\lucene"/>
</module>
</caching-modules>
<caching-module>
: 이 XML 태그는 캐시에 등록된 모든 모듈과 해당 매개변수를 지정합니다. 설정한 경우에만 나타납니다. store-type
as distributed-lucene
.
아래의 <module>
태그에는 다음이 있습니다.
name
: 모듈의 이름을 지정합니다. 모듈은 여기에 제공하는 이름으로 식별됩니다. 이 이름은 고유해야 합니다.
enable
: 제공되는 모듈을 활성화/비활성화합니다.
아래의 <parameters>
태그에는 다음이 있습니다.
name
: 모듈에 추가된 매개변수 목록을 지정합니다.
value
: 추가된 매개변수에 제공되는 값을 지정합니다.
<cluster-connection-settings cluster-port="7806" port-range="1" connection-retries="2" connection-retry-interval="2secs" join_retry_count="24" join_retry_timeout="5"/>
<cluster-connection-settings>
: 이 XML 태그는 클러스터 서버 간의 포트 연결 및 기타 통신 옵션에 대한 세부 정보를 지정합니다.
cluster-port
: 연결은 TCP 포트를 통해 채널링됩니다. 이 값은 해당 포트가 차지하는 포트를 정의합니다.
port-range
: 초기화할 때 제공된 포트를 다른 응용 프로그램에서 사용하는 경우 1씩 증가하는 포트에서 연결 설정을 시도합니다. 이를 위해 범위가 제공됩니다. 즉, 사용 가능한 TCP 포트를 검색해야 하는 범위는 무엇입니까?
connection-retries
: 노드 간의 연결이 실패한 경우 이를 영구 실패로 간주하기 위해 재시도 횟수를 정의합니다.
connection-retry-interval
: 연결 재시도 간격이 이 값으로 정의됩니다.
<alerts>
<email-notification email-notification-enabled="False" sender="" smtp-server="" smtp-port="0" ssl="False" authentication="False" sender-login="" sender-password=""/>
<alerts-types cache-stop="False" cache-start="False" node-left="False" node-joined="False" state-transfer-started="False" state-transfer-stop="False" state-transfer-error="False" cache-size="False"/>
</alerts>
이메일을 통한 이벤트 알림(Enterprise 기능만 해당)이 필요한 경우 해당 설정에 대한 정보는 여기에서 구성됩니다.
Email-notification
: 이메일 주소와 관련된 모든 정보를 담고 있습니다.
Email-notification-enabled
: 이메일을 통한 알림을 활성화합니다.
Sender
: 이메일 알림을 보낼 이메일 계정을 지정합니다.
Smtp-server
: 이메일 알림을 보낼 게이트웨이를 지정합니다.
Smtp-port
: 이메일을 전달하는 데 사용되는 포트 번호입니다.
SSL
: SSL 보안을 활성화하는 SSL(Secure Socket Layer)입니다.
Authentication
: 인증이 필요한 경우 True입니다.
Sender-login
: 인증이 필요한 경우 로그인 이름을 지정합니다.
Sender-password
: 인증 비밀번호를 입력합니다.
Alert-Types
: 자동 이메일이 생성될 이벤트를 지정합니다.
Cache-stop
: 언제든지 캐시가 중지되면 이메일 알림이 생성됩니다.
Cache-start
: 캐시가 시작되면 이메일 알림이 생성됩니다.
Node-left
: 서버 노드가 클러스터를 떠나거나 어떤 이유로든 서버 노드에 액세스할 수 없는 경우 이 기능이 활성화되면 이메일 알림이 전송됩니다.
Node-joined
: 서버 노드에 가입하면 이메일 알림이 생성됩니다.
State-Transfer-started
: 로드 밸런싱 수행 시 발생하는 상태 전송이 발생할 때마다 이를 알리기 위해 이메일 알림이 생성됩니다.
Cache-size
: Hot Apply를 사용하여 캐시 크기가 변경될 때마다 이메일 알림이 생성됩니다.
<sql-dependency use-default="False"/>
이 XML 태그는 대기열 및 서비스 SQL 알림 아키텍처를 지정합니다. (기업 전용)
Use-default
: 속성을 True/False로 설정할 수 있습니다. 속성이 True로 설정되면 기본 SQL 종속성 서비스 및 큐가 런타임에 생성됩니다. 속성이 False로 설정되면 사용자 정의된 SQL 종속성 서비스 및 큐가 생성되어 사용됩니다. NCache.