시나리오가 있으며 Azure Redis 캐시를 올바르게 사용하고 있는지 알고 싶습니다. 왜냐하면 확실히 어떤 성능도 그렇게 보이지 않기 때문입니다.Azure Redis Cache - 응용 프로그램 성능 향상
웹 앱을 사용하면 고객이 레코드를 만들고, 읽고 업데이트하며, 고객 레코드라고 가정합니다. Azure에는 SQL DB가 있으며 60,000 개의 고객 레코드가 있습니다. 예를 들어 고객 세부 정보, 이름, 전자 메일, 주소 등 하나의 테이블이 있다고 가정합니다.
캐시에 모든 레코드를 저장하는 대신 데이터베이스를 직접 쿼리하는 것이 더 빠르기 때문에 성능 향상을 위해이 웹 앱을 어떻게 작성해야할까요? 내가 현재 캐시 사용했다 : 등하는 List<T>
및 쿼리, fiter, 검색으로 직렬화 및 반환 모든 들어
- 가 (, 정렬, 검색 등) 필터를 포함 읽어 나는 레디 스 캐시에서 데이터를 얻을 수를 결과.
- 업데이트하려면 SQL 데이터베이스에서 레코드를 업데이트하고 db에서 모든 레코드를
List<T>
으로 가져 와서 캐시에 저장하십시오. - 위의 업데이트와 동일하게 생성 및 삭제합니다.
캐시를 사용하면 성능에 별다른 이점이 없습니다. 잘못 사용합니까?
많은 데이터를 직렬화하고 캐시에 저장하는 것은 좋지 않은 생각입니다. 어떤 아이디어를 더 잘 만드는 방법?
설명해 주셔서 감사합니다. 내 문제는 내가 개별적으로 모든 레코드를 캐시에 추가하지 않고 id로 가져 오는 것이 아니라 60000 개의 항목이 포함 된'List '입니다. 필자는이 목록을 JSON으로 serialize하고이 전체 JSON을 캐시에 'AllRecords'와 같은 키 아래에 저장하고이 키의 값은 60000 개의 레코드가있는 JSON입니다. 나는 이것이 나쁜 접근이라고 생각한다. 물론 모든 레코드를 하나씩 저장할 수 있고 Redis Cache의 키는 SQL db의 키와 동일 할 수 있지만 '모든 항목 쿼리'와 같은 Redis Cache에는 기능이 없습니다 ... –
user2818430
Azure에서 하나의 키 아래에 모든 키를 저장하지 않은 다음 해당 키를 기반으로 캐시에서 모든 레코드를 가져올 수 있지만 여전히 잘못된 aproach라고 생각합니다 – user2818430