로컬 스토리지 대 AngularJS $ cacheFactory
많은 클라이언트 측 데이터를 저장하는 데 문제가 있으며 어떤 방법이 더 나은지 결정할 수 없습니다. 이제 AngularJS의 cacheFactory를 사용하고 있지만 제대로 작동하지만 모든 데이터가 새 세션으로 다시로드됩니다. 대신 로컬 스토리지를 사용할 가치가 있습니까?
목표가 클라이언트 측 및 영구 데이터를 저장하는 것이라면 현재 세션의 데이터 만 캐시하는 $ cacheFactory를 사용할 수 없습니다 .
한 가지 해결책은 새로운 로컬 저장소 API를 사용하는 것입니다. 이 멋진 Angular 모듈 은 당신을 위해 모든 더러운 일을 만들고 심지어 오래된 브라우저의 쿠키로 돌아갑니다!
대체 솔루션은 http://jmdobry.github.io/angular-cache/ 로 ngResource와 잘 작동하며 localStorage에 동기화하도록 쉽게 구성 할 수 있으므로 페이지 새로 고침 후 요청을 다시 수행 할 필요가 없습니다.
$resource('my/kewl/url/:key', { key: '@key' }, {
'get': { method: 'GET',
cache: $angularCacheFactory('MyKewlResourceCache', {
storageMode: 'localStorage' })
}
});
Blackhole이 말했듯이 세션이 만료 될 때마다 캐시가 지워 지기 때문에 $ cacheFactory는 분명히 귀하의 솔루션이 아닌 것 같습니다 . $ cacheFactory는 Angular 방식의 memcache 구현입니다.
angular-cache는 도우미 API 일 뿐이며 기본적으로 $ cacheFactory에 옵션을 추가하고이 옵션 중 하나는 캐시를 영구 저장소 (예 : localStorage)에 저장하는 것입니다.
따라서 영구 저장소에 데이터를 저장하려면 angular-local-storage 와 같은 모듈 중 하나를 사용하거나 $ cookieStore를 사용할 수 있지만 쿠키를 생성합니다.
작업을 수행하는 또 다른 각도 모듈 : https://github.com/jmdobry/angular-cache
참고 URL : https://stackoverflow.com/questions/19304435/local-storage-vs-angularjs-cachefactory
'Programing' 카테고리의 다른 글
배경 드로어 블에서 종횡비를 유지하면서 이미지 크기 조정 (0) | 2020.12.12 |
---|---|
x86 어셈블리에서 사용할 변수 크기 (db, dw, dd)는 무엇입니까? (0) | 2020.12.12 |
소스를 찾을 수 없지만 일부 또는 모든 이벤트 로그를 검색 할 수 없습니다. (0) | 2020.12.12 |
클래스를 찾을 수 없음 : Android 스튜디오에서 단위 테스트를 실행할 때 빈 테스트 모음 (0) | 2020.12.12 |
캐스팅 없이도 C의 엄격한 앨리어싱 위반? (0) | 2020.12.12 |