2013-05-30 3 views
0

최대 절전 모드 3.2에서 응용 프로그램을 만들었고 memcached를 사용하여 내 개체에서 두 번째 수준 캐싱을 수행했습니다.최대 절전 모드 2 차 레벨 캐시가 업데이트되지 않음

내가 직면 한 문제는 엔티티가 일단 캐시되면 캐시 된 엔티티 항목을 업데이트하면 업데이트되지 않는다는 것입니다.

사례 : 스티브의 아들 이름은 존입니다.

이제 Steve의 엔티티를 데이터베이스에서 가져 와서 아들의 엔티티도 Jon으로 가져옵니다. 그러나 Jon의 이름을 'Marc'로 업데이트하면 Steve가있는 엔티티를 다시로드 할 때 동일한 변경 사항이 반영되지 않습니다.

memcached에 캐시 된 것이 있다고 생각합니다. 업데이트 할 때 엔티티가 새로 고쳐지지 않습니다.

변경시이 엔티티를 업데이트해야합니다. 즉, 엔티티에서 필드 업데이트가있을 때마다 업데이트와 함께 동일한 엔티티가 캐시에서 새로 고쳐집니다.

도와주세요. 고마워요 :)

+0

몇 가지 코드를 공유 할 수 있습니까? – orique

답변

0

업데이트가 nHibernate를 통해 수행되는 경우 nHibernate가 데이터베이스 직접을 통해) nHibernate 외부에서 완료되면 캐시가 업데이트되므로 nHibernate는 캐시를 다시로드 할 때 변경 사항을 인식하지 못합니다. 업데이트 된 가치가 없습니다.

이름을 어떻게 업데이트합니까?

+0

데이터베이스 쿼리를 실행하여 이름을 직접 업데이트했으며 내 요구 사항은이 경우에만 가능합니다. Hibernate 외부에서 업데이트가 발생하면 해당 변경 사항을 캐시에서 검색해야합니다. – gauravmuk

관련 문제