Я использую Dexie.js
на своем веб-сайте для кэширования ответа ajax, но я бы хотел удалить старый кеш через 5 или более минут в зависимости от использования.
Итак, вопрос в том, как удалить кэшированные данные, используя время, а не дату.
Сохранение в кеше indexedDB
function getTodayDate(){
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1;
var yyyy = today.getFullYear();
if(dd<10) {dd = '0'+dd}
if(mm<10) {mm = '0'+mm}
return mm + '-' + dd + '-' + yyyy;
}
var time = new Date().getTime();
db.product.put({nameId: "abc163", text: "hello world", cacheUrl: "example.com", timestamp: time, date: getTodayDate()})
.catch(function(error) {
console.log ("Ooops: " + error);
});
Вот как я могу удалить, используя поиск по дате
db.product.where("date").below(getTodayDate()).delete()
.then(function (deleteCount) {
console.log( "Deleted " + deleteCount + " objects");
});
Но я могу удалить по времени, может быть, через 1 час, 60 часов или меньше, я не знаю, возможно ли это, но я думаю, что это можно сделать.
function checkTime(){
var delete_after = 300;
//How do i check it
}
db.product.where("timestamp").below(checkTime()).delete()
.then(function (deleteCount) {
console.log( "Deleted " + deleteCount + " objects");
});