Merged in feat/use-hash-for-graphql-cache (pull request #2251)
Feature: Use hash of query+variables for graphql cache instead of gitsha * feature: use a hash of query+variables as part of the cache key instead of gitsha * . * Merge branch 'master' of bitbucket.org:scandic-swap/web into feat/use-hash-for-graphql-cache * use correct json stringify * merge * remove edgeRequest in favor of request * add more indicative logging Approved-by: Linus Flood
This commit is contained in:
@@ -15,7 +15,9 @@ export const cacheOrGet: DataCache["cacheOrGet"] = async <T>(
|
||||
ttl: CacheTime,
|
||||
opts?: CacheOrGetOptions
|
||||
) => {
|
||||
const cacheKey = generateCacheKey(key)
|
||||
const cacheKey = generateCacheKey(key, {
|
||||
includeGitHashInKey: opts?.includeGitHashInKey ?? true,
|
||||
})
|
||||
|
||||
let cachedValue: Awaited<T> | undefined = undefined
|
||||
if (shouldGetFromCache(opts)) {
|
||||
@@ -32,8 +34,12 @@ export const cacheOrGet: DataCache["cacheOrGet"] = async <T>(
|
||||
const perf = performance.now()
|
||||
const data = await callback(overrideTTL)
|
||||
|
||||
const size = JSON.stringify(data).length / (1024 * 1024)
|
||||
if (size >= 5) {
|
||||
cacheLogger.warn(`'${key}' is larger than 5MB!`)
|
||||
}
|
||||
cacheLogger.debug(
|
||||
`Getting data '${cacheKey}' took ${(performance.now() - perf).toFixed(2)}ms`
|
||||
`Fetching data took ${(performance.now() - perf).toFixed(2)}ms ${size.toFixed(4)}MB for '${key}'`
|
||||
)
|
||||
|
||||
await set<T>(cacheKey, data, realTTL)
|
||||
|
||||
Reference in New Issue
Block a user