2021年12月20日

INT_MIN绝对值

摘要: 求某个int32的绝对值: unsigned int abs_n = n < 0 ? UINT_MAX - ((unsigned int)(n)) + 1U : (unsigned int)(n); Update: As @aka.nice suggests, we can actually rep 阅读全文

posted @ 2021-12-20 21:17 wsw_seu 阅读(24) 评论(0) 推荐(0) 编辑

2021年11月1日

redis面经

摘要: 1、Redis 为什么快? C 语言实现,虽然 C 对 Redis 的性能有助力,但语言并不是最核心因素。 纯内存 I/O,相较于其他基于磁盘的 DB,Redis 的纯内存操作有着天然的性能优势。 I/O 多路复用,基于 epoll/select/kqueue 等 I/O 多路复用技术,实现高吞吐的 阅读全文

posted @ 2021-11-01 23:12 wsw_seu 阅读(74) 评论(0) 推荐(0) 编辑

2021年6月19日

联合索引、索引下推

摘要: 1、 覆盖索引:如果查询条件使用的是普通索引(或是联合索引的最左原则字段),查询结果是联合索引的字段或是主键,不用回表操作,直接返回结果,减少IO磁盘读写读取正行数据 2、最左前缀:联合索引的最左 N 个字段,也可以是字符串索引的最左 M 个字符 3、联合索引:根据创建联合索引的顺序,以最左原则进行 阅读全文

posted @ 2021-06-19 19:27 wsw_seu 阅读(252) 评论(0) 推荐(0) 编辑

2021年6月16日

sql update语句相关问题

摘要: 1. redo log的概念是什么? 为什么会存在. 1. redo log是重做日志。主要用于MySQL异常重启后的一种数据恢复手段,确保了数据的一致性。归根到底是MySQL为了实现WAL机制的一种手段。因为MySQL进行更新操作,为了能够快速响应,所以采用了异步写回磁盘的技术,写入内存后就返回。 阅读全文

posted @ 2021-06-16 19:36 wsw_seu 阅读(55) 评论(0) 推荐(0) 编辑

2021年6月12日

raft(转)

摘要: 说明 分布式存储系统通常通过维护多个副本来进行容错,提高系统的可用性。要实现此目标,就必须要解决分布式存储系统的最核心问题:维护多个副本的一致性。 首先需要解释一下什么是一致性(consensus),它是构建具有容错性(fault-tolerant)的分布式系统的基础。 在一个具有一致性的性质的集群 阅读全文

posted @ 2021-06-12 11:16 wsw_seu 阅读(44) 评论(0) 推荐(0) 编辑

2021年6月6日

Kafka中的HW、LEO、LSO等分别代表什么?

摘要: HW 、 LEO 等概念和上一篇文章所说的 ISR有着紧密的关系,如果不了解 ISR 可以先看下ISR相关的介绍。 HW (High Watermark)俗称高水位,它标识了一个特定的消息偏移量(offset),消费者只能拉取到这个offset之前的消息。 下图表示一个日志文件,这个日志文件中只有9 阅读全文

posted @ 2021-06-06 14:26 wsw_seu 阅读(419) 评论(0) 推荐(0) 编辑

2021年5月31日

深入剖析Linux IO原理和几种零拷贝机制的实现(转)

摘要: 作者:零壹技术栈链接:https://zhuanlan.zhihu.com/p/83398714来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 前言 零拷贝(Zero-copy)技术指在计算机执行操作时,CPU 不需要先将数据从一个内存区域复制到另一个内存区域,从而可 阅读全文

posted @ 2021-05-31 14:50 wsw_seu 阅读(69) 评论(0) 推荐(0) 编辑

2021年4月19日

SQL注入常见解决方式(转)

摘要: 前言 在一个公共的分页功能中,排序字段作为入参,前端页面可以自定义。在分页sql的mybatis mapper.xml中,order by字段后面使用$符号动态接收计算后的排序参数,这样可以实现动态排序的功能。 但是,如果入参传入: id; select 1 -- 最终执行的sql会变成: sele 阅读全文

posted @ 2021-04-19 19:47 wsw_seu 阅读(530) 评论(0) 推荐(0) 编辑

Sql注入基础原理介绍(转)

摘要: 一、Sql 注入漏洞详解 1.1 Sql 注入产生原因及威胁: 当我们访问动态网页时, Web 服务器会向数据访问层发起 Sql 查询请求,如果权限验证通过就会执行 Sql 语句。这种网站内部直接发送的Sql请求一般不会有危险,但实际情况是很多时候需要结合用户的输入数据动态构造 Sql 语句,如果用 阅读全文

posted @ 2021-04-19 19:43 wsw_seu 阅读(438) 评论(0) 推荐(0) 编辑

2021年3月9日

golang make和new

摘要: 对于golang中分配内存编译器会自动选择在栈上还是在堆上分配局部变量的存储空间,但可能令人惊讶的是,这个选择并不是由用var还是new声明变量的方式决定的。 var global *int func f() { var x int x = 1 global = &x } func g() { y 阅读全文

posted @ 2021-03-09 14:41 wsw_seu 阅读(120) 评论(0) 推荐(0) 编辑

导航