У меня есть нюанс с кешированием, с которым не могу разобраться никак: на production-сервере при изменении данных в БД, кеш не обновляется ни через какое-то время, ни при попытке обновления. Помогает только перезапуск процесса nuxt через pm2
Настойка apollo:
import cache from './cache'
export default function(context) {
// const token = process.env.APOLLO_TOKEN
let httpEndpoint = process.env.APOLLO_SERVER_HTTP || 'http://localhost:1337/graphql';
// let wsEndpoint = process.env.APOLLO_SERVER_WS || 'ws://localhost:1337/graphql';
return {
httpEndpoint,
// getAuth: () => `Bearer ${ token }`,
httpLinkOptions: {
credentials: 'same-origin',
},
// wsEndpoint,
tokenName: 'apollo-token',
cache
};
}
И самого кеша:
import {
InMemoryCache,
IntrospectionFragmentMatcher
} from 'apollo-cache-inmemory'
import possibleTypes from '../possibleTypes.json'
const fragmentMatcher = new IntrospectionFragmentMatcher({
introspectionQueryResultData: {
__schema: {
types: [
{
possibleTypes: [possibleTypes]
}
]
}
}
})
export default new InMemoryCache({ fragmentMatcher })
Подскажите, пожалуйста, в какую сторону вести поиски? Что можно сделать чтобы кеш обновлялся при изменениях в БД или хотя бы по времени?
Админка на Strapi, БД - SQLite.
Заранее благодарю)
я использую, но не очень понял про какой кэш ты говоришь я юзаю на сервере https://github.com/graphql/express-graphql а на клиенте https://github.com/nuxt-community/apollo-module это из того что нашел, что сочетается по функционалу более менее
nuxt-ssr-cache могу рекомендовать как альтернативу, в связке axios с graphql (как в прочем и с RestApi) работает шикарно
Обсуждают сегодня