- 博客(7)
- 收藏
- 关注
原创 记一次SpringMVC国际化踩得坑
之前在项目中遇到一个国际化问题,百度查说需要在配置文件中加以下一段配置: spring.messages.basename=message 但是我加上之后还是没用,依然报同样的错。最后自己摸索在项目启动类加上一段代码完美解决问题: @Bean @Primary public MessageSource messageSource(){ ReloadableResourceBundleMessageSource messageSource = new ReloadableResourc
2021-05-20 16:46:27
183
原创 记一次Mysql遇到的坑
SQL state [null]; error code [0]; Error; nested exception is java.sql.SQLException: Error 有次系统在执行插入操作时报上面的错误,在测试环境都没有问题,就是在生产环境出现了问题。于是上网寻找解决方案,但网上找了很久也没有找到答案。 后来检查了一下数据库版本,发现是因为生产使用的mysql依赖是5.x的版本,但是生产的数据库是8.0的版本,才导致了插入时总是出问题,但是查询时是正常的。于是更换MySQL依赖版本。问题解决
2021-01-22 09:36:16
1537
原创 redis基本数据结构
一、redis核心原理 1、redis单线程为什么还能这么快 因为所有的数据存储在内存中,所有的运算都是内存级别的,而且单线程避免了多线程的切换性能损耗问题。 2、redis单线程如何处理那么多的并发客户端连接 redis采用I/O多路复用。io多路复用是利用epoll来实现IO多路复用,将连接信息和事件放入到队列中,依次放到文件事件分派器,事件分派器将事件分发给事件处理器 ##二、redis核心数据结构 1、String 常用操作: SET key value //存入字符串键值对
2020-12-11 16:57:09
242
1
原创 高频面试题--MVCC多版本并发控制机制
MVCC多版本并发控制机制 Mysql在可重复读隔离级别下如何保证事务较高的隔离性,我们上节课给大家演示过,同样的sql查询语句在一个事务里多次执行查询结果相同,就算其它事务对数据有修改也不会影响当前事务sql语句的查询结果。 这个隔离性就是靠MVCC(Multi-Version Concurrency Control)机制来保证的,对一行数据的读和写两个操作默认是不会通过加锁互斥来保证隔离性,避免了频繁加锁互斥,而在串行化隔离级别为了保证较高的隔离性是通过将所有操作加锁互斥来实现的。 Mysql在读已提交
2020-12-01 19:49:28
523
原创 Mysql事务隔离级别
概述 我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。 这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了事务隔离机制、锁机制、MVCC多版本并发控制隔离机制,用一整套机制来解决多事务并发问题。接下来,我们会深入讲解这些机制,让大家彻底理解数据库内部的执行原理。 事务及其ACID属性 事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性。
2020-12-01 19:44:08
195
原创 Mysql实践
一、索引实践 示例表: DROP TABLE IF EXISTS `actor`; CREATE TABLE `actor` ( `id` int(11) NOT NULL, `name` varchar(45) DEFAULT NULL, `update_time` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `actor` (`id`, `name`, `updat
2020-11-29 20:01:32
84
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人