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