찾다

 >  Q&A  >  본문

Laravel에서 쿼리 캐시에 대한 다른 키 생성

모든 쿼리를 캐시하기 위해 프로젝트의 저장소를 사용하고 있습니다.

BaseRepository가 있습니다.

으아아아

그런 다음 이 저장소를 내 서비스에 사용했습니다

우편 서비스:

으아아아

드디어 컨트롤러에서 PostService를 사용했습니다

후면 컨트롤러:

으아아아

index 메소드는 처음 10개의 최신 레코드를 올바르게 반환합니다. 이제 모든 저장소 쿼리에 대해 고유한 CacheKey를 생성해야 합니다. 예를 들어

TableName concat FunctionName //posts.paginate

이 코드를 저장소의 모든 메소드에서 사용할 수 있습니다

으아아아

좋습니다. 그런데 문제는 이 코드가 클래스의 모든 메소드에서 반복된다는 것입니다. 이 코드를 다른 클래스에서 사용하면 메서드 이름이 올바르지 않게 됩니다. 이 코드의 중복을 방지하기 위해 어떤 제안이 있습니까?

P粉739886290P粉739886290239일 전412

모든 응답(2)나는 대답할 것이다

  • P粉401901266

    P粉4019012662024-03-20 15:30:59

    함수 이름을 다른 클래스에 전달하여 이 문제를 해결했습니다

    CacheKey 클래스를 만들었습니다.

    으아악

    그런 다음 저장소의 모든 메소드에서 다음과 같이 이 도우미 클래스를 사용할 수 있습니다.

    으아악

    회신하다
    0
  • P粉287726308

    P粉2877263082024-03-20 15:11:01

    다음과 같은 방법으로 매직 메서드를 쉽게 사용할 수 있습니다.

    으아아아

    회신하다
    0
  • 취소회신하다