2013-03-18 3 views
1

나는 Perl Catalyst를 Catalyst::Plugin::Session::State::CookieCatalyst::Plugin::Session::Store::Redis으로 사용하고 있습니다. 로그인 한 사용자가 최대 2,000 명이지만 Redis 매장에 2 백만 개 이상의 키가 있습니다.너무 많은 세션이 저장되는 것을 피하려면 어떻게해야합니까?

대부분의 인증은 API 키를 통해 수행됩니다. 나는 각 API 호출이 새로운 세션을 생성하고 저장했는지 궁금하다 (API 호출에 쿠키가 없을 가능성이 높음). 또는 웹 사이트의 모든 새로운 방문자가 자동으로 세션을 만들면 궁금하다.

기본적으로 매우 짧은 만료를 설정하고 (몇 분) 사용자가 웹 인터페이스를 통해 로그인 할 때 만료되도록 설정하는 것이 해결책 인 것처럼 보입니다.

적어도 저장된 세션 수를 제한하는 최선의 방법은 궁금합니다.

답변

2

Redis Time out은 모든 세션이 만료되는 것을 막기위한 구체적인 사용법이없는 한 (나는 볼 수 없음) 실제 시간 제한 (기본값 : 300)으로 설정해야합니다.

그러나 이것은 이전 버전의 redis에서 문제가 있으므로이 기능을 테스트하기 전에 최신 Redis를 설치해야합니다.