Fixed insufficient caching problem
This commit is contained in:
parent
3a6cace3ee
commit
a5b175b292
@ -42,16 +42,17 @@ export class PageInterceptor implements NestInterceptor {
|
||||
async intercept(context: ExecutionContext, next: CallHandler<any>): Promise<Observable<PageDto>> {
|
||||
const query = context.switchToHttp().getRequest().query;
|
||||
|
||||
// const offset = !query.offset ? 0 : query.offset;
|
||||
const offset = query.offset;
|
||||
// const limit = !query.limit ? 10 : query.limit;
|
||||
const limit = query.limit;
|
||||
// const order = !query.order ? Order.DESC : query.order;
|
||||
const order = query.order;
|
||||
const query_string = query.query;
|
||||
|
||||
const prev_page = await this.cacheManager.get('prev_page');
|
||||
if (prev_page) {
|
||||
if (offset == prev_page[1] && limit == prev_page[2] && order == prev_page[3]) return of(prev_page[0]);
|
||||
if (offset == prev_page[1] &&
|
||||
limit == prev_page[2] &&
|
||||
order == prev_page[3] &&
|
||||
query_string === prev_page[4]) return of(prev_page[0]);
|
||||
}
|
||||
|
||||
return next.handle().pipe(
|
||||
@ -71,7 +72,7 @@ export class PageInterceptor implements NestInterceptor {
|
||||
|
||||
// Cache and return the page
|
||||
const page: PageDto = new PageDto(data, meta);
|
||||
await this.cacheManager.set('prev_page', [page, offset, limit, order]);
|
||||
await this.cacheManager.set('prev_page', [page, offset, limit, order, query_string]);
|
||||
return page;
|
||||
})
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user