Coherence Go 클라이언트의 최신 버전은 네트워크를 통해 요청을 보내지 않고 Go 클라이언트에서 자주 액세스하는 데이터를 캐시하기 위한 Near Cache 지원을 도입했습니다.
이는 특히 LBR을 통해 스티키 세션을 사용하는 경우에 유용한데, 이는 Go 프로세스에 세션을 캐시하고 Get() 작업이 훨씬 더 빨라지기 때문입니다.
서버에서 세션이 만료되면 Near Cache에서 자동으로 제거됩니다.
세션에 이 기능을 사용하려면 NearCacheTimeout를 만료 시간보다 짧은 기간으로 설정할 수 있습니다.
// 기본 config를 초기화하여 일반 텍스트를 사용하여 localhost:1408에 연결합니다
store, err := coherence.New()
// 일반 텍스트를 사용하고 기본 만료 시간은 5분, Near Cache 만료 시간은 2분으로 설정합니다
store, err := coherence.New(coherence.Config{
Address: "my-host:myport",
Expiration: time.Duration(300) * time.Second, // 5분
NearCacheTimeout: time.Duration(120) * time.Second, // 2분
})
Near Cache 시간 초과가 세션 시간 초과보다 작아야 합니다.
Config
// Config는 Coherence 연결에 대한 구성 옵션을 정의합니다.
type Config struct {
// 연결할 주소, 기본값은 "localhost:1408"
Address string
// Timeout은 Coherence에 연결하기 위한 기본 세션 시간 초과이며, 기본값은 30초입니다
Timeout time.Duration
// ScopeName은 여러 스토리지 세션을 허용하는 범위를 정의합니다
ScopeName string
// Reset은 스토리지가 생성된 후 재설정 여부를 나타냅니다
Reset bool
// TLSConfig는 연결 시 사용할 tls.Config를 지정합니다. nil인 경우 일반 텍스트가 사용됩니다
TLSConfig *tls.Config
// NearCacheTimeout은 Near Cache의 시간 초과를 정의합니다.
// 이 값이 설정되면 지정된 시간 초과를 사용하여 Near Cache가 생성됩니다.
// 참고: 이 값은 세션 시간 초과 또는 Set() 사용 시 지정하는 모든 시간 초과보다 작아야 합니다.
NearCacheTimeout time.Duration
}