#redis #graphql #apollo-server
Вопрос:
Я подробно изучил эту проблему , но не нашел ничего, что работало бы на меня. Проблема , с которой я всегда сталкиваюсь, заключается в том, что я не могу выполнять операции в кэше ни в одном классе источников данных. Вот как я передаю кэш на сервер apollo:
const cache=new RedisCache(redis)
const server=new ApolloServer({
typeDefs:schema ,
resolvers,
cache,
dataSources:()=>({
....
}),
})
И вот как я передаю его в класс источников данных:
initialize({context,cache}={}){
this.context=context
this.cache=cache
}
Тем не менее , я никогда не смогу успешно установить значение в кэше, потому что возникают ошибки:
const cachedOrder=await this.cache.get(this.cacheKey(id))
Ошибка : Ошибка: Соединение находится в режиме мониторинга, не может обрабатывать команды.
Кроме того, я уверен, что базовый экземпляр ioredis подключен, потому что я выполнял операции в redis-cli. Не могли бы вы, пожалуйста, сказать мне, что я делаю не так? Большое спасибо!