웹 앱에서 참조해야하는 10 개의 "카테고리"가 있다고 가정 해보십시오. 현재 DB에 이러한 카테고리를 저장하고 있으며베이스 페이지에서 pageload하는 동안 카테고리 이름과 ID를 가져 와서 해시 테이블에 저장 한 다음 해시 테이블을 사용하여 카테고리를 참조합니다. 나는 DB 호출이 각 pageload 동안 만들어지고 있다는 것을 깨달았다. 주어진 세션 동안 결코 변경되지 않으므로이 범주를 한 번만 가져와야합니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?사전 항목을로드하고 사용하는 가장 좋은 방법은 무엇입니까?
내가하고있는 모든 작업을 수행하지만 응용 프로그램 변수로 저장합니까?
하드 코드는 코드에 범주를 지정하고 데이터베이스를 사용하지 않습니까?
세션 변수에 범주를 저장 하시겠습니까? 세션이 비어있는 경우에만 DB를 호출하십시오.
다른 건요?
나는 이런 일을하는 것이 최선인지 궁금해.
감사합니다. 사실 솔직히 말하면 이러한 범주는 결코 변하지 않습니다. 응용 프로그램의 수명 동안 항상 동일합니다. 비즈니스 요구 사항에 변경 사항이없는 경우 ... 캐싱을 권장 하시겠습니까? 열거 형으로 카테고리를 만드는 것이 추악할까요? – Prabhu
정말 얼마나 많은 객체가 카테고리 객체와의 관계에 의존하는지에 달려 있습니다. 카테고리가 한 곳에서 사용되고 한 곳에서만 사용되는 경우 (보고되지 않음), smallint와 enum을 사용하는 것이 좋습니다. 그러나 여러 객체에 대해 사용되거나 예를 들어 SQL보고 서비스는 데이터베이스에 보관합니다. 개인적으로 열거 형이 있습니다. 그러나 나는 이것들 중 하나인지 모르겠다 :) –