wangfy_
码龄6年
  • 708,040
    被访问
  • 465
    原创
  • 2,446
    排名
  • 71
    粉丝
关注
提问 私信
  • 加入CSDN时间: 2016-02-17
博客简介:

仅做个人笔记

查看详细资料
  • 5
    领奖
    总分 1,525 当月 31
个人成就
  • 获得161次点赞
  • 内容获得50次评论
  • 获得644次收藏
创作历程
  • 11篇
    2022年
  • 73篇
    2021年
  • 126篇
    2020年
  • 303篇
    2019年
  • 135篇
    2018年
成就勋章
TA的专栏
  • 高可用
    3篇
  • 配置
    1篇
  • 直播技术栈
    2篇
  • go
    163篇
  • go并发
    8篇
  • 数据库
    77篇
  • redis
    31篇
  • TiDB
    1篇
  • mq
    10篇
  • docker
    8篇
  • 算法
    12篇
  • 面试
    14篇
  • 剑指offer
    20篇
  • LeetCode
    9篇
  • devops
    2篇
  • es
    3篇
  • 网络
    11篇
  • mac
    2篇
  • 笔试算法-排序
    2篇
  • 排序算法
  • 笔试算法-链表
    1篇
  • 系统设计
    1篇
  • 负载均衡
    1篇
  • socket
    2篇
  • 动态规划
    11篇
  • 最短路
    5篇
  • 最小生成树
    2篇
  • 拓扑序
    2篇
  • 遍历图
    6篇
  • 遍历树
    8篇
  • 遍历二叉
    4篇
  • 二叉搜索树
    5篇
  • 重建二叉树
    4篇
  • avl树
    1篇
  • 链表
    5篇
  • 数
    2篇
  • 贪心
    3篇
  • 搜索
    1篇
  • 排序
    5篇
  • 哈希散列/map映射
    6篇
  • 大整数
    1篇
  • 并查集
    1篇
  • 字符串处理
    5篇
  • 分数
    1篇
  • 进制转换
    7篇
  • 二分
    2篇
  • 模拟
    7篇
  • c++
    6篇
  • pat-a
    35篇
  • pat-b
    2篇
  • 其他算法题
    34篇
  • 其他
    61篇
  • linux
    18篇
  • Java-基础
    26篇
  • Java-多线程
    2篇
  • Java-集合类
    4篇
  • Java-IO
    2篇
  • JVM
    7篇
  • Struts
    4篇
  • Hibernate
    3篇
  • 中间件
    3篇
  • jsp
    4篇
  • front
    35篇
  • 问题解决
    5篇
  • 工具
    7篇
  • 系统架构
    1篇
  • 查找
    1篇
  • py
    5篇
  • 坑5
  • git
    14篇
  • 坑4
  • 坑2
  • 坑3
  • 坑1
  • 安全
    4篇
  • cicd
    1篇
兴趣领域 设置
  • 数据结构与算法
    算法
  • 后端
    架构
  • 运维
    devops
  • 最近
  • 文章
  • 视频
  • 问答
搜TA的内容
搜索 取消

#### 线上问题经历 ####

1、网关调room,报超时/500/noconn,集中在一台实例,所以先摘流,再查是慢查询还是啥其他原因2、高qps批量接口未设置批量上限,通过redis监控看到命令超时,并且房间主读实例和db未分出独立份来供其他业务调用,导致其他业务的查询影响到主实例3、端上新发了代码误ddos,通过http_user_agent版本类型标识定位到一个端(LiveHime/4.20.0.3399 os/Windows pc_app/livehime build/3399 osVer/10.0_x86_64)的一个
原创
发布博客 2022.05.12 ·
79 阅读 ·
0 点赞 ·
0 评论

go在mac上的bash_profile文件配置

命令行: cat ~/.bash_profileexport GOPATH=/Users/wangfengying/goexport GOBIN=$GOPATH/binexport GOPROXY=http://goproxy.xxx.co // 注意:xxx自定export GO111MODULE=onexport GOSUMDB=offexport PATH=$PATH:$GOPATH:$GOBIN
原创
发布博客 2022.04.07 ·
216 阅读 ·
0 点赞 ·
0 评论

#### mysql为啥用b+树 以及各种查找树的比较 ####

转自【【深入学习MySQL】MySQL的索引结构为什么使用B+树? - 编程迷思 - 博客园】目录总结前言一、二叉查找树(BST):不平衡二、平衡二叉树(AVL):旋转耗时三、红黑树:树太高四、B树:为磁盘而生五、B+树六、感受B+树的威力总结最后,总结一下各种树解决的问题以及面临的新问题:1) 二叉查找树(BST):解决了排序的基本问题,但是由于无法保证平衡,可能退化为链表;2) 平衡二叉树(AVL):通过旋转解决了平衡的...
转载
发布博客 2022.03.16 ·
38 阅读 ·
0 点赞 ·
0 评论

####【终极】mysql 事务及事务的实现 ####

转自【深入学习MySQL事务:ACID特性的实现原理 - 编程迷思 - 博客园】先说总结:事务的ACID特性实现原理原子性:语句要么全执行,要么全不执行,是事务最核心的特性,事务本身就是以原子性来定义的;实现主要基于undo log 持久性:保证事务提交后不会因为宕机等原因导致数据丢失;实现主要基于redo log 隔离性:保证事务执行尽可能不受其他事务影响;InnoDB默认的隔离级别是RR,RR的实现主要基于锁机制(包含next-key lock)、MVCC(包括数据的隐藏列、基于und
转载
发布博客 2022.03.16 ·
41 阅读 ·
0 点赞 ·
0 评论

#### 使用 binlog + canal + kafka 同步数据更新事件到redis或es等

部分内容摘自【基于Canal和Kafka实现MySQL的Binlog近实时同步 - 掘金】大致流程canal将binlog转到连接器kafka,接收方订阅topic消费后更新redis或escanal工作原理先看,MySQL主备复制原理:MySQL的Master实例将数据变更写入二进制日志(binary log,其中记录叫做二进制日志事件binary log events,可以通过show binlog events进行查看) MySQL的Slave实例将master的bina
原创
发布博客 2022.03.16 ·
2004 阅读 ·
0 点赞 ·
0 评论

#### mysql主从复制 ####

部分内容摘自【mysql主从复制原理-binlog - 低调人生 - 博客园】【Mysql 实现基于binlog的主从同步 - 下班闪电去打卡 - 博客园】步骤从库会生成两个线程,一个I/O线程,一个SQL线程; I/O线程会去请求主库的binlog,并将得到的binlog写到本地的relay-log(中继日志)文件中; 主库会生成一个log dump线程,用来给从库I/O线程传binlog; SQL线程,会读取relay log文件中的日志,并解析成sql语句逐一执行;.
原创
发布博客 2022.03.16 ·
17 阅读 ·
0 点赞 ·
0 评论

#### redis cluster mget 优化方案 ####

部分内容摘自:【redis cluster mget 引发的讨论 - 简书】【redis cluster如何高效率的跨节点间使用mget ? - 知乎】首先,cluster是不支持mutlikey操作的,例如:mget【mget】redis之上的中间层对mget包一层,方案:方案一:传统的串行IO操作,也就说n个key,分n次串行操作来获取key,复杂度是o(n)。方案二:将Mget操作(n个key),利用已知的hash函数算出key对应的节点,这样就可以得到一个这样的关系:
原创
发布博客 2022.03.15 ·
719 阅读 ·
0 点赞 ·
0 评论

#### LFU(least frequently used)最近最不经常使用算法 ####

部分内容摘自 https://leetcode-cn.com/problems/lfu-cache/solution/lfuhuan-cun-by-leetcode-solution/lfu问题get(int key)- 如果键key 存在于缓存中,则获取键的值,否则返回 -1 。put(int key, int value)- 如果键key 已存在,则变更其值;如果键不存在,请插入键值对。当缓存达到其容量capacity 时,则应该在插入新项之前,移除最不经常使用的项。在此问题中...
转载
发布博客 2022.03.14 ·
78 阅读 ·
0 点赞 ·
0 评论

重点的领域

八股(go/db/redis/mq/es...)题(剑指offer、leetcode)项目(多活、房间系统、互动、开播)
原创
发布博客 2022.03.01 ·
416 阅读 ·
0 点赞 ·
0 评论

常见八股文

1、redis删除大key摘自:redis 删除大key集合的方法 - 大数据技术派 - 博客园​​​​​​redis大key,这里指的是大的集合数据类型,如(set/hash/list/sorted set),一个key包含很多元素。由于redis是单线程,在删除大key(千万级别的set集合)的时候,或者清理过期大key数据时,主线程忙于删除这个大key,会导致redis阻塞、崩溃,应用程序异常的情况。方案1:程序扫描scan分批删除hash key:通过hscan命令,每次获取500个
原创
发布博客 2022.02.23 ·
308 阅读 ·
0 点赞 ·
0 评论

同城多活、两地三中心、单元化

首先1、同城多活2、两地三中心(冷备意义不大)3、单元化着重讲单元化【此部分转自:单元化架构解决了什么问题 - 知乎】首先,我们先来看下单元化是什么。所谓单元,是指一个能完成所有业务操作的自包含集合,在这个集合中包含了所有业务所需的所有服务,以及分配给这个单元的数据。假如一个业务有30亿数据,采用单元化架构部署的话,我们可以把数据拆解为3份,每份10亿数据,建立3个单元,这三个单元,业务服务一模一样,但是数据库存储的数据不同,分别是10亿数据。这里根据数据进行单元的拆分,
原创
发布博客 2022.01.14 ·
577 阅读 ·
0 点赞 ·
0 评论

xss测试案例

<img/src=1 onerror=(alert)(2233)>"><img/src=1 onerror=(alert)(2233)><script>alert(2233)</script>"><script>alert(2233)</script>
原创
发布博客 2021.12.10 ·
152 阅读 ·
0 点赞 ·
0 评论

[warning!] golang defer函数里的ctx超时 会导致分布式锁或其他资源无法释放

注意:UnLock的ctx要使用context.Background() 如果UnLock依旧使用原ctx,可能会因为原ctx超时会导致UnLock无法执行,进而导致分布式锁无法释放代码:func (s *MyService) MyFunc(ctx context.Context) (err error) { // redis lock if err = s.dao.LockWithExp(ctx, model.GetMyKeyRedisLock(), ...
原创
发布博客 2021.10.01 ·
99 阅读 ·
0 点赞 ·
2 评论

常见互联网slb方案

转自:https://blog.csdn.net/qinglianchen0851/article/details/84306448仅做个人备份,浏览请看原文目录关于负载均衡常见互联网slb方案第一层:客户端到反向代理层第二层:反向代理层到站点层第三层:站点层到服务层第四层:访问数据层数据的均衡请求的均衡range水平切分id哈希水平切分总结关于负载均衡关于负载均衡,其实在网上有许多的定义。而作为云计算的从业者,最经常接触到的就是云负载均衡
转载
发布博客 2021.07.14 ·
178 阅读 ·
0 点赞 ·
0 评论

goroutine func 内使用 defer + recover 捕获 panic 的意义

背景:goroutine func 内 panic 不会影响外部协程,所以外部协程对 goroutine func 内的 panic 可能无感知,可能会发生 goroutine func 内的 panic 但外部协程正常往下执行的情况。所以:要在goroutine func 内的识别 panic 打印日志,可选的把err返出来,若真的需要返出err的话要使用channel。// 伪代码func Ping(ctx context.Context) error { ... code ....
原创
发布博客 2021.07.09 ·
246 阅读 ·
1 点赞 ·
0 评论

区别:count(*)、count(1)、count(列名)

区别count(*) 包括了所有的列,相当于行数,在统计结果的时候, 不会忽略列值为NULL count(1) 包括了忽略所有列,用1代表代码行,在统计结果的时候, 不会忽略列值为NULL count(列名) 只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数, 即某个字段值为NULL时,不统计。执行效率【1】select count(主键)执行效率最优【2】count (1) 比 count (非主键列) 快如果表多...
原创
发布博客 2021.07.09 ·
50 阅读 ·
0 点赞 ·
0 评论

Redis和MC的对比

转自:Redis和MC的对比仅做个人备份,浏览请看原文需求复杂方面Redis数据类型更丰富,MC只支持string类型(纯KV)数据持久化方面Redis支持持久化,而MC是纯内存(注意指的不是服务内存,而是启动mc中间件后的内存)高可用方面Redis原生支持集群模式,而MC还需要客户端去实现集群I/O模型方面Redis核心使用IO多路单线程模型,MC是多线程IO复用模型...
转载
发布博客 2021.07.05 ·
79 阅读 ·
0 点赞 ·
0 评论

notify,metaq,及与kafka的区别

上才艺1. notify优点:实时性高;缺点:缓存、磁盘存储量不高2.metaq优点:可靠性高;缺点:吞吐率不高3. 与kfk的对比 Notify Metaq Kafka 元数据管理者 NameServer zookeepers(负责选举,均衡,meta记录,消费记录) 消息获取方式 推模式 拉模式,长轮询 拉模式,长轮询 持久化 持久化、非持久化同时存在,写磁盘的时候操作系统cache没有同步到磁盘时就.
原创
发布博客 2021.07.05 ·
203 阅读 ·
0 点赞 ·
0 评论

#### explain ####

输出格式 id: SELECT 查询的标识符. 每个 SELECT 都会自动分配一个唯一的标识符. select_type: SELECT 查询的类型. table: 查询的是哪个表 partitions: 匹配的分区 type: join 类型 possible_keys: 此次查询中可能选用的索引 key: 此次查询中确切使用到的索引. ref: 哪个字段或常数与 key 一起被使用 rows: 显示此查询一共扫描
原创
发布博客 2021.07.02 ·
24 阅读 ·
0 点赞 ·
0 评论

mac charles 抓包

电脑配置打开charles下载到桌面,拖到证书管理器下的【登录】【所有项目下】,信任一下手机配置连接公司局域网配置代理 - 手动 - 服务器填自己的电脑的ip,端口8888访问http://chls.pro/ssl - 下载证书,之后:打开设置 - 信任证书,以及:通用 - 关于手机 - 证书信任设置 - 信任...
原创
发布博客 2021.06.02 ·
34 阅读 ·
0 点赞 ·
0 评论
加载更多