저는 C# ASP.Net 웹 응용 프로그램을 Azure (현재는 전용 서버 1 대에 호스팅 됨)로 이동하는 계획을 세우고 있으며 캐싱 옵션을보고 있습니다. 현재 우리는 한 번에 하나의 응용 프로그램 인스턴스 만 실행하기 때문에 SQL DB에서 동일한 요청을 처리하기 위해 '프로세스 내'메모리 캐시가 있습니다.Redis의 Azure 캐시/DataCache 스타일 영역
현재 프로세스는 관리자/서비스가 데이터베이스의 해당 부분을 변경하면 캐시의 특정 부분을 지우는 것입니다. 우리는 사용자 테이블을 가지고 있으며 우리는 "User. {0}"과 같은 단일 사용자 레코드/객체를 반환하고 "Users.ForeignKey. {0}"은 외래 키와 관련된 모든 사용자를 반환합니다. 단일 사용자 레코드를 업데이트하면 "User.1"키 (userid = 1 인 경우)가 제거되고 모든 목록 모음이 변경 될 수 있으므로 쉽게 제거 할 수 있습니다. 우리는 패턴을 기준으로 키를 제거함으로써이 작업을 수행합니다. 즉, 영향을받는 키만 제거되고 다른 모든 키는 유지됩니다.
우리는 지금 Azure 로의 이행을 잠시 동안 계획 해 왔으며 처음에는 Azure Redis Cache 서비스를 사용할 수 없었습니다. 최소한 지원 했으므로 Azure Cache 서비스를 살펴 보았습니다. AppFabric. 이를 사용하여 DataCache 영역을 사용하여 서로 다른 객체 유형을 구분 한 다음 영향을받은 영역을 플러시합니다. 현재 방법과 동일하지는 않지만 OK입니다. 자, 레디 스가 현장에 왔기 때문에, 우리는 그것을보고 있었고 가능한 경우 그것을 사용하는 것을 선호했습니다. 그러나 같은 결과를 얻으려면 각 '지역'/ 섹션별로 별도의 Redis 캐시가 있어야합니다. Azure에서 Redis 캐시 서비스의 작은 인스턴스에 대해 많은 비용을 지불한다는 것을 이해할 수 있습니다. 캐시에 별도로 플러시 가능 섹션을 10 개 이상 필요로한다는 점을 감안할 때 상당한 비용이 듭니다.
누구나 Redis에서 Azure DataCache Regions과 유사한 것을 달성하는 방법을 알고 있거나 분명치 않다고 눈에 띄게 분명하게 제시 할 수 있습니까?
그런 긴 질문/설명에 대해 유감스럽게 생각하지만 배경/컨텍스트없이 달성하려는 것을 설명하기가 어렵다는 것을 알게되었습니다.
감사합니다, 가레스
업데이트 :이 '열쇠'명령 here와 루아를 사용하여 포함, 패턴으로 키를 삭제하는 작업을 할 수있는 몇 bash는 명령을 발견했습니다
스크립트 EVAL 명령 here.
상호 작용하기 위해 StackExchange.Redis 클라이언트를 사용할 계획입니다. StackExchange.Redis를 사용할 때 이러한 유형의 명령이나 다른 방법 (패턴별로 키를 삭제하는 방법)을 사용하는 방법을 알고 있습니까? 읽기
감사합니다, 가레스
내가 그 기준에 관한 기록이 변경 될 때마다 있도록, 몇 가지 기준 (귀하의 경우 사용자)에 따라 데이터 그룹의 모든 필요 질문으로 이해하는 것을 들어
답장을 보내 주셔서 감사합니다. 조사해 보겠습니다. –