带鱼兄
码龄13年
关注
提问 私信
  • 博客:1,797,758
    社区:60
    问答:307
    1,798,125
    总访问量
  • 263
    原创
  • 1,938,450
    排名
  • 242
    粉丝
  • 0
    铁粉

个人简介:爱在新空气,快乐每一天

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2011-09-05
博客简介:

daiyudong2020的博客

查看详细资料
个人成就
  • 博客专家认证
  • 获得366次点赞
  • 内容获得115次评论
  • 获得1,153次收藏
  • 代码片获得616次分享
创作历程
  • 8篇
    2020年
  • 10篇
    2019年
  • 62篇
    2017年
  • 210篇
    2016年
  • 18篇
    2015年
成就勋章
TA的专栏
  • 数据密集型应用系统设计-读书思考
    6篇
  • TCP/IP
    33篇
  • Redis
    30篇
  • linux之文件操作
    22篇
  • linux之进程操作
    23篇
  • linux之线程操作
    16篇
  • linux之信号操作
    2篇
  • linux之IPC
    12篇
  • linux
    37篇
  • 数据结构与算法
    16篇
  • 网络安全
    10篇
  • shell
    33篇
  • 高可用
    19篇
  • UDP
    3篇
  • HTTP
    9篇
  • 云存储
    2篇
  • mysql
    20篇
  • nginx
    8篇
  • openresty
    9篇
  • ELK
    8篇
  • docker
    4篇
  • consul
    1篇
  • fastdfs
    2篇
  • ansible
    1篇
  • memcached
    1篇
  • c/c++
    1篇
  • python
    4篇
  • java
    12篇
  • php
    1篇
  • 杂谈
    6篇
兴趣领域 设置
  • 后端
    架构
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

175人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

go-diskqueue数据结构

一、本文目的是介绍go-diskqueuego-diskqueue,应用于nsq:https://github.com/nsqio/nsq,作用是存储内存装不下的消息,并支持读取。go-diskqueue:https://github.com/yudongdai/go-diskqueue/blob/master/diskqueue.go(注释版)二、文件的组织2.1文件的组成2.1.1元数据,文件名格式如下:{TopicName}.diskqueue.meta.dat,每个Top..
原创
发布博客 2020.08.27 ·
752 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

浅析存储引擎(4)-对比B-tree和LSM-tree

浅析日志结构的存储引擎(1)-bitcask浅析日志结构的存储引擎(2)-SSTable和LSM-Tree浅析存储引擎(3)-B-tree一、磁盘碎片率由于B-tree存储引擎按固定页写入,那么通常每一页都会有些空间无法使用。而LSM-tree不是面向页的,并且定期重写SSTable以消除碎片化,所以具有较低的碎片率。二、写入速度LSM-tree通常能够承受比B-tree更高的写入...
原创
发布博客 2020.03.07 ·
1764 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

浅析存储引擎(3)-B-tree

浅析日志结构的存储引擎(1)-bitcask浅析日志结构的存储引擎(2)-SSTable和LSM-Tree前面两篇文章介绍了比较好理解的日志结构引擎LSM-Tree,但它们不是最常见的索引类型。目前最广泛使用的索引结构是B-tree。像SSTable一样,B-tree维护着按键排序的key-value对,这样可以实现高效的key-value查找和区间查询。一、B-tree的存储...
原创
发布博客 2020.03.07 ·
2896 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

浅析日志结构的存储引擎(2)-SSTable和LSM-Tree

基于上一篇文章,我们已经知道了日志结构的存储引擎-bitcask的基本原理。在这个基础上,继续讨论SSTable。回顾一下bitcask的key-value,它在段文件中是无序的,假设按key排序,并且要求每个key在每个段中只能出现一次,排好序再写入到段文件中,这种格式称之为SSTable。一、SSTable比bitcask有什么优点?1,由于key在一个段中只出现一次,可以使用类似...
原创
发布博客 2020.03.07 ·
922 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

浅析日志结构的存储引擎(1)-bitcask

这系列文章主要是讲key-value结构的存储引擎,比如bitcask、sstable、LSM-tree等。不涉及内存型的key-value,比如redis。一、数据写入与查找对于数据写入磁盘,最简单最快的方式就是顺序写入磁盘,用简单追加日志文件的方式,就达到了性能的最高效。假设我们把key-value在文件中的offset也记录下来,那么我们就能从磁盘中查找到这对key-va...
原创
发布博客 2020.03.06 ·
1000 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

行存储和列存储的区别

一、对比行存储和列存储的区别前,我们先来聊下背景。假设我们用mysql做了一个商品订单库order,如下orderid name kind price kg time 1 猪肉 肉类 50 2.0 2020.01.01 2 牛肉 肉类 60 1.0 2020.01.01 3 白菜...
原创
发布博客 2020.03.05 ·
4091 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

MyISAM和InnoDB的区别

应用层的区别:1,MyISAM不支持外键,InnoDB支持,这是非关系型和关系型数据库的最大区别2,MyISAM不支持事务,InnoDB支持3,MyISAM不支持行锁,InnoDB支持,InnoDB也会退化为表锁4,MyISAM支持全文索引,InnoDB不支持(5.7版本后支持)5,MyISAM可以没有主键,InnoDB必须有(不设会内置)设计层的区别:1,先讲概...
原创
发布博客 2020.02.23 ·
1132 阅读 ·
0 点赞 ·
0 评论 ·
9 收藏

什么是可靠、可扩展、可维护的系统?

一,可靠性的挑战1,人为故障是线上系统故障的首要原因,应该怎么避免1.1简化设计,易于测试1.2充分测试,覆盖场景1.3快速回滚,降低损失1.4完善监控1.5规范流程,这点最重要2,软件故障2.1简单架构,降低复杂度带来的不可控2.2选择稳定的软件,包括开源2.3要有自动恢复机制,比如限流,进程自动拉起3,硬件故障3.1多机服务,但...
原创
发布博客 2020.02.23 ·
3297 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

openresty中应用murmurHash

介绍:MurmurHash 是一种非加密型哈希函数,适用于一般的哈希检索操作。由Austin Appleby在2008年发明,并出现了多个变种,都已经发布到了公有领域(public domain)。与其它流行的哈希函数相比,对于规律性较强的key,MurmurHash的随机分布特征表现更良好。当前的版本是MurmurHash3,能够产生出32-bit或128-bit哈希值。较早的Murmu...
原创
发布博客 2019.08.01 ·
2942 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

浅谈账户安全

一、什么是账号安全,主要涉及几大方面1,防养号 1.1 恶意注册/登录 危害:黑产养号,准备随时作恶2,防刷 2.1 刷广告 危害:破坏产品生态,涉黄涉政 2.2 撸羊毛 危害:损失直接的金钱3,防盗 3.1 盗号 危害:非法转移个人财产、诈骗、刷广告等 3....
原创
发布博客 2019.07.11 ·
1568 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

图解反转单向链表

核心代码/*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *pNext;* };*//*反转函数,输入待反转链表头,返回反转后的链表头 */struct ListNode* reverseList(struct Lis...
原创
发布博客 2019.06.14 ·
1082 阅读 ·
3 点赞 ·
0 评论 ·
5 收藏

mysql事务隔离级别解读

一、mysql事务隔离级别,有几种?1.读未提交(read uncommitted)2.读提交(read committed)3.可重复读(repeatable read) - default4.串行化(serializable )二、场景分析:1.假设数据表 T 中只有1列,存在1行记录2.进行事务并发结果分别是读未提交:v1=2,v2=2...
原创
发布博客 2019.05.25 ·
295 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

perf top查看进程cpu高原因

几个关键的选项$perf top -h-p, --pid <pid> profile events on existing process id-g enables call-graph recording例如查看redis进程的内核调用,$perf top -p 28764原文出自:htt...
原创
发布博客 2019.05.10 ·
26720 阅读 ·
1 点赞 ·
0 评论 ·
10 收藏

关于分布式事务、两阶段提交协议、三阶提交协议

结论:无论是二阶段提交还是三阶段提交都无法彻底解决分布式的一致性问题------------------- 分割线随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在分布式一致性一文中主要介绍了分布式系统中存在...
转载
发布博客 2019.04.28 ·
323 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

乐观锁、悲观锁、共享锁、排它锁、行锁、表锁

乐观锁:是一种设计思想,场景是读多写少,冲突少,用数据版本号解决一致性悲观锁:是一种设计思想,场景是写多,冲突多,每次都加锁共享锁:又称读锁,用法SELECT ... LOCK IN SHARE MODE;排它锁:又称写锁,用法SELECT ... FOR UPDATE;行锁:InnoDB的行锁是针对索引加的锁,不是针对记录加的锁。并且该索引不能失效,否则都会从行锁升级为表锁。...
原创
发布博客 2019.04.26 ·
279 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

深入理解乐观锁与悲观锁

先说结论写多,冲突概率高,用悲观锁。读多写少,冲突概率低,用乐观锁。数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。无论是悲观锁还是乐观锁,都是人们定义出来的概念,可以认为是一种思想。其实不仅仅是关系型数据库系统中...
转载
发布博客 2019.04.25 ·
350 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

kafka和rabbitmq选型

前言:选择适用的消息队列,至少要关注多个维度,基于kafka和rabbitmq,文章假定读者对消息队列已有一定的了解,探讨以下内容(1)顺序性(2)幂等性(3)持久化(4)性能(5)容灾(6)安全机制(7)可靠性一、模型(1)rabbitmq消费模型(只能路由到master处理)(2)rabbitmq生产模型(只能路由到master处理)(3...
原创
发布博客 2019.04.25 ·
943 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

后端开发应该读那些计算机系统基础书籍?

书不再多,在于精,技术底层原理是共通的。读哪些?顺序如下。一、《UNIX环境高级编程》二、《UNIX网络编程卷1:套接字联网API》三、《UNIX网络编程卷2:进程间通信》四、《深入了解计算机系统》五、《深入linux内核架构》如何读?1,前三本精读(至少三遍),并写代码加以验证。2,后两本选读,主要是解答前三本精读后留下的疑问。3,在工...
原创
发布博客 2019.04.13 ·
571 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

fastdfs存储小文件的可行性分析

一、环境1,磁盘:SATA,ext4,inode数量=磁盘大小/16KB2,fastdfs:5.05,关闭合并存储。3,下载代理:弃用fastdfs nginx模块,使用nginx静态路径下载。4,假设单磁盘大小为4TB,fastdfs子目录共32*32=1024个,假设每个小文件为16KB,则每个子目录需要存储24w个文件。​二、测试文件存储目录结构如下,子目录值
原创
发布博客 2017.12.09 ·
3178 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

TCP 、UDP、IP包的最大长度是多少

一、传输层TCP:对于TCP来说,数据是流式传输的,传输数据可以接近无限大,单次传输的数据受限于网络层。UDP:而对于UDP,IP报头占20字节,UDP报头占8字节,则最大的包体为65535(由报文长度字段决定)-20-8=65507,单次传输的数据受限于网络层。二、网络层局域网:MTU大约是1500字节,也就是一个IP包可以传输大约1460个字...
原创
发布博客 2017.12.02 ·
15108 阅读 ·
2 点赞 ·
2 评论 ·
11 收藏
加载更多