Redis和数据库的读操作
数据缓存往往会在Redis上设置超时时间,当设置Redis的数据超时后,Redis就没法读出数据了,这个时候就会触发程序读取数据库,然后将读取的数据库数据写入Redis(此时Redis会给Redis重设超时时间),这样程序在读取的过程中就能按一定的时间间隔刷新数据了。
下面写一下这个流程的伪代码:
public DataObiect readMethod(args){
//尝试从Redis中读取数据
DataObject data=getRedis(key);
if(data == null){
//从数据库中读取数据
data=getFromDataBase();
//重新写入Redis,以便以后读出
writeRedis(key,data);
//设置Redis的超时时间为5分钟
setRedisExpire(key,5);
}
return data;
}
Redis和数据库的写操作
写操作要考虑数据一致性的问题,尤其是那些重要的业务数据,所以首先考虑从数据库中读取最新的数据,然后对数据进行操作,最后把数据写入Redis缓存中。
下面写出这个流程的伪代码:
public DataObject writeMethod(args){
//从数据库里读出最新数据
DataObject dataObject=getFromDataBase(args);
//执行业务逻辑
ExecLogic(dataObject);
//更新数据库数据
updataDataBase(dataObject);
//刷新Redis缓存
updataRedisData(dataObject);
}