假设我有一个列出给定城市餐厅的应用程序。可以想象,可能有相当多的列表构成大量数据,而且没有任何图像。
现在假设我想通过缓存让用户快速访问这些数据。我实现缓存的方法是简单地使用 存储数据ngStorage
,检查它是否存在。如果存在,我从 中提取范围$localStorage
,如果不存在,我从数据库中获取数据并设置$localStorage
.
$scope.Restaurants = {};
if(Object.keys($localStorage.restaurants).length===0){
$http.get('www.mydata.internet/RESTaurants').then(function(res){ // pardon the pun
$localStorage.restaurants = res.data.restaurants;
$scope.Restaurants = res.data.restaurants;
});
} else $scope.Restaurants = $localStorage.restaurants;
这工作正常,直到我将图像存储在我的数据库中作为 base64。
突然之间,数据量显着增长,ngStorage 遇到了限制和中断。此外,拉下大量图像并将它们推送到本地存储中并不能很好地扩展。
但我仍然想缓存这些数据以避免每次需要时都进行数据库调用。
有没有办法像这样缓存大量数据?