03 2022 档案

摘要:Redis做分布式锁真的靠谱吗 Redis的分布式锁可以通过Lua进行实现,通过setnx和expire命令连用的方式 || 也可以使用高版本的方法同时设置失效时间,但是假如在以下情况下,就会造成无锁的现象。 注:分布式锁能不用就不用,尤其是在高并发的情况下。 释放了不该释放的锁:👇 有时候直接执 阅读全文
posted @ 2022-03-30 22:15 coding++ 阅读(307) 评论(0) 推荐(0) 编辑
摘要:防止重复提交,主要是使用锁的形式来处理,如果是单机部署,可以使用本地缓存锁(Guava)即可,如果是分布式部署,则需要使用分布式锁(可以使用zk分布式锁或者redis分布式锁),本文的分布式锁以redis分布式锁为例。 一、本地锁(Guava) 1、导入依赖 <dependency> <groupI 阅读全文
posted @ 2022-03-29 11:49 coding++ 阅读(138) 评论(0) 推荐(0) 编辑
摘要:知识点传送门:👇 1、事务管理 隔离级别 MySQL默认隔离级别:可重复读(Repeatable read) 来自灵魂的拷问:👇 ~ 为什么 MySQL 选择 "可重复读" 作为默认隔离级别? 正文:👇 我们先来思考一个问题,在Oracle,SqlServer中都是选择读已提交(Read Co 阅读全文
posted @ 2022-03-25 18:17 coding++ 阅读(647) 评论(0) 推荐(1) 编辑
摘要:1、乐观锁 乐观锁不是数据库自带的,需要我们自己去实现。乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突。在操作数据时,并不进行任何其他的特殊处理(也就是不加锁),而在进行更新后,再去判断是否有冲突了。 通常实现是这样的:👇 在表中的数据进行操作时(更新),先给数据表加一 阅读全文
posted @ 2022-03-25 15:52 coding++ 阅读(194) 评论(0) 推荐(0) 编辑
摘要:binlog :二进制日志是mysql-server层的,主要是做主从复制,时间点恢复使用。 redo log :重做日志是InnoDB存储引擎层的,用来保证事务安全。 undo log : 回滚日志保存了事务发生之前的数据的一个版本,可以用于回滚,同时可以提供多版本并发控制下的读(MVCC),也即 阅读全文
posted @ 2022-03-21 22:31 coding++ 阅读(39) 评论(0) 推荐(0) 编辑
摘要:在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。 所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问Mysql等数据库。 这样可以大大缓解数据库的压力。Redis缓存数据的加载可以分为懒加载和主动加载两种模式, 下面分别介绍在这两种模式下的数据一致 阅读全文
posted @ 2022-03-21 22:26 coding++ 阅读(289) 评论(0) 推荐(0) 编辑
摘要:String: 一般做一些复杂的计数功能的缓存List: 做简单的消息队列的功能Hash: 单点登录Set: 做全局去重的功能SortedSet: 做排行榜应用,取TopN操作;延时任务;做范围查找 类型简介特性场景 String (字符串) Redis的字符串是动态字符串,是可以修改的字符串,它的 阅读全文
posted @ 2022-03-11 21:23 coding++ 阅读(133) 评论(0) 推荐(1) 编辑
摘要:Dubbo之XML配置详解 阅读全文
posted @ 2022-03-07 20:32 coding++ 阅读(26) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示