Redis和数据库的读写操作分析

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);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值