摘要: 讲mysql innodb使用B+树作为索引的原因:https://juejin.cn/post/7081065180301361183 分析mysql数据特点:存储在磁盘,为了提升性能,需要尽量减少io操作 分析所有数据结构:线性、非线性;基础数据结构和衍生出的高级数据结构(数组、链表、hash、 阅读全文
posted @ 2023-02-11 13:10 dancingwolves 阅读(22) 评论(0) 推荐(0)
摘要: golang遍历字符串,有多种方式: `` 点击查看代码 // 字符串,把字符串起来 s := "中国人,zgr" for pos, char := range s { // range是按照字符来遍历,返回字符出现的位置和对应字符内容(字符需要4个字节,int32类型),可以用%c展现 log.P 阅读全文
posted @ 2022-12-03 13:19 dancingwolves 阅读(116) 评论(0) 推荐(0)
摘要: 工作中配置监控报警参数时,发现请求接口是有两次。第一个是preflight请求,第二个是正常请求,如图:观察preflight方法是options,然后是正常的请求(post) 因此了解下什么是preflight,前因后果。 正常浏览器禁止跨域访问,通常有两种方案: 禁止发出请求 拦截请求的返回 针 阅读全文
posted @ 2022-12-03 10:57 dancingwolves 阅读(761) 评论(0) 推荐(1)
摘要: 执行go build后,会作何操作呢? 下载依赖包 以package粒度,多核并行compile,生成各个.a文件, $WORK/b001/ 代表main package 单核link,将第二步生成的.a文件链接,生成最终的二进制文件 -v verbose,可以打印编译的包 -x 将编译过程输出,可 阅读全文
posted @ 2022-05-02 12:30 dancingwolves 阅读(97) 评论(0) 推荐(0)
摘要: golang net/http 可以非常方便的实现http server。 核心步骤: bind && listen accept 每收到一个链接,就启动一个协程进行处理,对于同一个长连接,保持1个go处理 直至链接结束。 而fasthtpp,据说是有workerPool,协程处理完后返回到pool 阅读全文
posted @ 2022-04-30 16:59 dancingwolves 阅读(124) 评论(0) 推荐(0)
摘要: 微服务兴起,传统的大单体服务拆分为多个微服务,各自独立开发、部署运维,服务之间通过rpc调用进行协调,降低了模块的耦合性。 rpc通常可以有两种方式,基于http协议的调用,如restful,和基于TCP的调用。 http实现简单,但处于OSI 7层模型中的第四层应用层,开销较大。基于TCP的rpc 阅读全文
posted @ 2021-08-14 22:05 dancingwolves 阅读(93) 评论(1) 推荐(0)
摘要: redis 速度快,一方面是纯内存+单线程处理,纯内存保证增删改查都是内存操作,比较快;单线程避免了多线程加解锁带来的竞争,另一方面也得益于redis的序列化/反序列化协议RESP:REdis Serial Protocol。 具体参考:https://mp.weixin.qq.com/s/MtvE 阅读全文
posted @ 2021-08-14 10:39 dancingwolves 阅读(80) 评论(0) 推荐(0)
摘要: docker安装elasticsearch和kibana,中文分词,电影系统检索实战 阅读全文
posted @ 2021-04-04 17:18 dancingwolves 阅读(221) 评论(0) 推荐(0)
摘要: 整理下docker 创建redis集群 多分片shards、多副本replicas的命令 ###分片均分系统数据,提升系统容量;副本保证读写分离,提供可用性 本文创建了9个节点,3分片*2副本模式(3个master,每个master包含2个slave) docker pull redis docke 阅读全文
posted @ 2021-04-03 21:59 dancingwolves 阅读(612) 评论(0) 推荐(0)
摘要: C语言内存管理主要包括malloc()、remalloc()、free()三个函数。本文主要介绍动态分配二维数组的三种方法,及malloc的使用注意事项(判断成功否,释放) 阅读全文
posted @ 2014-06-06 20:39 dancingwolves 阅读(2938) 评论(1) 推荐(0)