摘要:
前言 前面学习的AOF和RDB技术,使得即使Redis发生了宕机,也可以通过这些技术来实现数据的恢复,从而保证数据尽量少丢失,提高了数据的可用性。 但是,即使如此,如果Redis在运行过程中发生了宕机,依然存在服务不可用的问题,在Redis服务恢复之前, 这期间电话i无发响应数据的请求服务的 。 我 阅读全文
摘要:
1、AOF方法的问题 AOF 的好处是是每次执行只需要记录操作命令,需要持久化的数据量不大。一般而言,只要你采用的不是 always 的持久化策略,就不会对性能造成太大影响。 但是,由于记录的是操作命令而不是实际数据,因此,用 AOF 方法进行故障恢复的时候,需要逐一把操作日志都执行一遍。如果操作日 阅读全文
摘要:
前言 Redis 的业务场景下,一般是当作缓存使用,因为它把后端数据库中的数据存储在内存中,然后直接从内存中读取数据,响应速度会非常快。 但是,这里也有一个绝对不能忽略的问题:一旦服务器宕机,内存中的数据将全部丢失。 很容易想到的一个解决方案是,从后端数据库恢复这些数据,但这种方式存在两个问题:一是 阅读全文
摘要:
ps:内容摘自极客时间,《Redis 核心技术与实战》 1、Redis 单线程 我们说Redis是单线程,主要是指,Redis的网络IO和键值对读写是有一个线程来完成的,这也是Redis对外提供键值存储服务的主要流程。但redis的其他功能,比如持久化、异步删除、集群数据同步等等,其实是由额外的线程 阅读全文
摘要:
问题: 在xml中写sql 语句的时候, 查询条件 req中的is_delete字段是Integer类型,在xml中,错误的写成了 会产生一个奇怪的现象, 当 is_delete = 1 的时候,这个条件会成立,拼接在sql语句中,但是当 is_delete = 0 的时候,条件直接失败,不拼接。原 阅读全文
摘要:
问题: 表如下: 1 SET NAMES utf8mb4; 2 SET FOREIGN_KEY_CHECKS = 0; 3 4 -- 5 -- Table structure for t 6 -- 7 DROP TABLE IF EXISTS `t`; 8 CREATE TABLE `t` ( 9 阅读全文
摘要:
前言 在某些业务场景下,如果一个请求中,需要同时写入多张表的数据。为了保证操作的原子性(要么同时成功,要么同时失败),避免数据不一致的情况,我们一般都会用到spring事务。 之前做一个洗数据的需求,由于要在多张表中插入数据,因此用了事务,由于某个字段长度不够,导致某一批数据插入失败,本来以为只需要 阅读全文
摘要:
问题 在使用lombok简化model类时。使用@Builder建造者模式。 定义如下类: 报以下异常 解决办法 去掉@NoArgsConstructor 添加@AllArgsConstructor 原因 Entity上加上@Builder,会默认为类加上全参构造函数,且提供以建造器模式构造对象的方 阅读全文
摘要:
六种位运算符 & 按位与 | 按位或 ^ 按位异或 ~ 取反 << 左移 >> 右移 常见位运算操作 1、字母大小写转换 统一转成大写:ch & 0b11011111 简写:ch & 0xDF 统一转成小写:ch | 0b00100000 简写:ch | 0x20 比较的时候注意加上小括号哦,因为位 阅读全文
摘要:
问题: 最近一次在写个需求的时候,需要更新数据库字段,使用了Mybatis-Plus中的updateById方法,发现当前端传过来是Null值的时候,出现updateByID方法无法将字段值更新为null的问题,经验证,updateBatchById方法同样无法更新null值。 在控制台打印sql语 阅读全文