redis,mysql随笔

redis与数据库双写一致问题:
策略:
1:先更新数据库,再更新缓存 ------不推荐,并发访问情况下出现脏数据的可能性较大
2:先删缓存,再更新数据库 --------延时双删策略,休眠一秒再淘汰可能出现的脏数据(第二次删除可使用异步操作保证原有吞吐量,异步操作第二次删除失败,建立重试操作)
3:先更新数据库,再更新缓存 ------同样会出现脏数据的情况,一样的做延时删除策略和删除失败的重试策略

分布式事务:Oracle公司提出的XA分布式协议:xa协议的两种实现 1:二阶段提交,2:三阶段提交

	XA协议包含两个角色:事务协调者,事务参与者
	二阶段提交:
	第一阶段:协调者像所有参与者发送prepare请求。参与者接受到请求后会做自己的数据更新操作,但不会提交事务,而是将更新数据写入log中,然后像协调者返回数据更新完毕的消息。
	第二阶段:协调者接受到所有参与者的完成消息后才会进入第二阶段。此时协调者像所有参与者发出commit请求,参与者接受到请求后再各自执行自己的commit操作,并返回完成消息。

B+树:节点存储索引地址,叶子节点存储数据,一个节点可以存储大量索引,可降低树的高度,减少磁盘io,索引查询效率。叶子节点通过链表串联,并且有序排列,便于范围查找。所以,在查找效率,范围查找中有很好的性能。
B树:节点存储数据,一个几点不能存储大量数据,切叶子节点不通过链表连接,所以对应索引查找和,范围查找效率不如B+树。
红黑树:右倾严重,达到一定程度后类似于链表,不利于查找。
二叉查找树:…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值