Если данные базы данных изменяются, они автоматически меняются в кеше redis? - PullRequest
0 голосов
/ 30 апреля 2019

Я реализую Redis-кеш в узле js, используя mongodb, и он работает нормально. Но у меня есть сомнения. В mongodb у меня 10 записей.данные из БД, но они не изменяются в redis cache.redis кеширует свои предыдущие 10 записей. Изменения базы данных не изменяются в redis cache. Как ее решить.

redis.js

// var asyncRedis = require("async-redis")

// var myCache = asyncRedis.createClient()
var redis = require('redis');

const client = redis.createClient()

client.on('connect', function () {
    console.log('Redis client connected');
});

client.on('error', function (err) {
    console.log('Something went wrong ' + err);
});




function Get_Value()
{
    client.get('products', function(err,results) {
        value = results
    })
    return value
}

function Set_Value(products)
{
    client.set('products', JSON.stringify(products))

}

exports.get_value = Get_Value;

exports.set_value = Set_Value;

rout.js

data = cache.get_value()
            if(data)
            {
              res.send(data)
            }
            else{
              const r = await db.collection('Ecommerce').find().toArray();
              res.send(r)
              data = cache.set_value(r)
            }
...