web架构
文章平均质量分 55
koltuhonenovskiy
这个作者很懒,什么都没留下…
展开
-
Redis事务实现
redis事务实现MULTI 命令的执行标志一个事务的开始,redis事务是一系列命令的隔离操作,事务中所有命令(除了MULTI、EXEC、WATCH、DISCARD)都会被放入到事务列队,直到客户端发送EXEC命令后,事务列队里的命令按序执行,因为是单线程的,所以不会被打断,事务中所有命令要么全部执行,要么全部不执行,如果执行过程中出错,也不会回滚。redis不支持事务回滚机制,但是会检查事务每一个命令是否有错误,但是不会检查程序员自己的逻辑错误,例如对String类型的数据执行List类型的操作。原创 2022-03-04 02:41:25 · 83 阅读 · 0 评论 -
redis集群模式
一、主从模式+哨兵主从模式下分为一个主数据库,还有一个或多个从数据库,主数据库提供读写操作,从节点默认只提供数据备份的能力。当写操作导致数据变化时会自动将数据同步给从数据库,一个主数据库可以拥有多个从数据库,但是一个从数据库只能拥有一个主数据库。redis2.8后提供了哨兵工具来实现系统监控和故障恢复功能。哨兵的功能是监控主、从数据库是否正常运行,主出现故障后将自动将从数据库升级位主数据库,配置哨兵监控一个系统时,只需要配置其监控主数据库即可,哨兵会自动发现所有复制该主数据库的从数据库存在的问题原创 2022-03-03 20:58:13 · 449 阅读 · 0 评论 -
Redis(4.x+)过期键删除策略和缓存淘汰策略
过期键删除策略1、被动删除:每次从键空获取key时,都检查取得的键是否过期,如果过期的话,就删除该键。缺点是会造成的问题就是有些key永远没有访问的情况下,永远不会删除,占用了内存空间2、主动删除(定时删除):默认策略,每100ms执行一次检查(reids.conf频率配置:hz:10),执行过程如下:1)随机抽取 20个key,进行相关的过期检测;2)删除所有已过期的key;3)如果有多余25%的key过期,重复步骤1,否则遍历下一个db;。原创 2022-03-03 03:13:37 · 511 阅读 · 0 评论 -
集群,分布式和微服务的区别
集群将单体应用复制成多份部署在不同的物理机上,组成一个集群,每个节点上具有相同的代码,提供相同的服务,所有服务通过负载均衡服务器聚合在一起,对外提供统一的访问接口。集群模式下,请求通过负载均衡策略分摊到不同的服务器上,并发量得到成倍提高,另外,如果有节点宕机,可通过负载均衡服务器可实现故障转移,从而保证了整体服务的高可用。但是,由于所有的代码都在同一个项目中,如果业务发展到一定的规模,业务逻辑复杂度越来越高、代码量会越来越大导致可读性变差,业务边界不清晰,项目的可维护性低。分布式原创 2022-03-01 17:03:56 · 135 阅读 · 0 评论