Поддержание обновлений между monogoDB и Redis кешем - PullRequest
0 голосов
/ 28 декабря 2018

Как обновлять кэш Redis в соответствии с mongoDB?

У меня есть mongoDB на облачном сервере, на котором я реализовал кэширование Redis. Так что я могу сократить количество запросов и время ответа.

var redis = require("redis"),
    client = redis.createClient({
    port:19634,
    host:'redis-xxxx-xxxx',
    password: 'testpasswd'
});

, когда данные были обновлены в БД, пользователи все еще получают старые данные из кеша до истечения срока действия ключа в Redis.

мой код для добавления записей

exports.add_user = (req,res,next ) => {
    const user = new User{
        name : req.body.name,
        mobile : req.body.mobile,
        email: req.body.email.
        ...req.body
        }
    user.save()
        .exec()
        .then (res => {
            redisCLient.set(res.id, res, 'NX', 30);
            res.status(200).json(...res)    
        } )
}

для получения данных

exports.get_all = async  (req,res,next ) => {
    try {
        let data = await User.find({}).cache (30)
        console.log( " \n got data \n ", data)
        res.status(200).json( data)
    }
    catch (err){
        console.log ( "error in fetching users", err.message);
        res.status(404).json({message: 'error happend ', err})
    }
}

Я считаю, что есть лучший способ поддержания согласованного кэширования.
заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...