Enable query result cache for meta / stats / hashtags trend (#4978)
This commit is contained in:
		| @@ -59,6 +59,7 @@ export default define(meta, async () => { | ||||
| 		.where(`note.createdAt > :date`, { date: new Date(Date.now() - rangeA) }) | ||||
| 		.andWhere(`note.tags != '{}'`) | ||||
| 		.select(['note.tags', 'note.userId']) | ||||
| 		.cache(60000) // 1 min | ||||
| 		.getMany(); | ||||
|  | ||||
| 	if (tagNotes.length === 0) { | ||||
| @@ -108,6 +109,7 @@ export default define(meta, async () => { | ||||
| 			.where(':tag = ANY(note.tags)', { tag: tag }) | ||||
| 			.andWhere('note.createdAt < :lt', { lt: new Date(Date.now() - (interval * i)) }) | ||||
| 			.andWhere('note.createdAt > :gt', { gt: new Date(Date.now() - (interval * (i + 1))) }) | ||||
| 			.cache(60000) // 1 min | ||||
| 			.getRawOne() | ||||
| 			.then(x => parseInt(x.count, 10)) | ||||
| 		))); | ||||
| @@ -119,6 +121,7 @@ export default define(meta, async () => { | ||||
| 		.select('count(distinct note.userId)') | ||||
| 		.where(':tag = ANY(note.tags)', { tag: tag }) | ||||
| 		.andWhere('note.createdAt > :gt', { gt: new Date(Date.now() - (interval * range)) }) | ||||
| 		.cache(60000) // 1 min | ||||
| 		.getRawOne() | ||||
| 		.then(x => parseInt(x.count, 10)) | ||||
| 	)); | ||||
|   | ||||
| @@ -94,7 +94,7 @@ export const meta = { | ||||
| export default define(meta, async (ps, me) => { | ||||
| 	const instance = await fetchMeta(true); | ||||
|  | ||||
| 	const emojis = await Emojis.find({ host: null }); | ||||
| 	const emojis = await Emojis.find({ where: { host: null }, cache: 3600000 }); // 1 hour | ||||
|  | ||||
| 	const response: any = { | ||||
| 		maintainerName: instance.maintainerName, | ||||
|   | ||||
| @@ -57,10 +57,10 @@ export default define(meta, async () => { | ||||
| 		driveUsageLocal, | ||||
| 		driveUsageRemote | ||||
| 	] = await Promise.all([ | ||||
| 		Notes.count(), | ||||
| 		Notes.count({ userHost: null }), | ||||
| 		Users.count(), | ||||
| 		Users.count({ host: null }), | ||||
| 		Notes.count({ cache: 3600000 }), // 1 hour | ||||
| 		Notes.count({ where: { userHost: null }, cache: 3600000 }), | ||||
| 		Users.count({ cache: 3600000 }), | ||||
| 		Users.count({ where: { host: null }, cache: 3600000 }), | ||||
| 		federationChart.getChart('hour', 1).then(chart => chart.instance.total[0]), | ||||
| 		driveChart.getChart('hour', 1).then(chart => chart.local.totalSize[0]), | ||||
| 		driveChart.getChart('hour', 1).then(chart => chart.remote.totalSize[0]), | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Satsuki Yanagi
					Satsuki Yanagi