- 博客(209)
- 资源 (10)
- 收藏
- 关注
原创 zset分页查询死循环问题
当zset的score有较多相同值,通过ZREVRANGEBYSCORE等命令查询时,可能出现死循环,查询不完的情况。
2025-12-14 13:36:39
257
原创 回流用户判定
使用redis存储,set类型,每天都分为1024个key,这样1天内活跃百万级别用户,单个key平均在1000左右,不会出现大key的情况。回流即N天以上未活跃过的用户,这个量级太大,所以要取反,去记录最近N天活跃过的用户uid。set类型 key=prefix_$day_$分片index,ttl =思路:所有用户 = 活跃用户 + 回流用户。
2025-12-12 23:03:31
122
转载 热点探测了解
转自: https://tech.dewu.com/article?id=231.热点规则:配置热Key的上报规则,圈出需要重点监测的Key2.热点上报:应用服务将自己的热Key访问情况上报给集中计算单元3.热点统计:收集各应用实例上报的信息,使用滑动窗口算法计算Key的热度4.热点推送:当Key的热度达到设定值时,推送热Key信息至所有应用实例5.热点缓存:各应用实例收到热Key信息后,对Key值进行本地缓存(此步骤根据具体业务策略调整)
2025-12-10 23:47:04
14
原创 docker相关命令
Propagation挂载传播(mount propagation)模式。:使用 Docker volume。(SELinux 标签),:在容器内创建内存文件系统。:把宿主机目录挂载到容器。:可读可写(rw)、
2025-11-19 20:49:03
293
转载 系统设计流程
系统设计文档通常包括概要设计和详细设计两大阶段,其核心部分涵盖引言(目的、范围)、系统概述、系统架构与模块设计(如分层、组件、关系)、技术选型、数据设计(数据库、表结构)、接口设计(API、模块间通信)、用户界面设计、安全与性能考虑、测试计划以及附录,旨在为开发提供详细的蓝图。 核心组成部分总结:系统设计文档是分层次的蓝图,从宏观架构到微观实现,涵盖了系统构建的方方面面,以确保开发顺利进行。
2025-11-15 20:53:04
30
转载 声网了解--
相关文档: https://doc.shengwang.cn/doc/rtc/android/get-started/quick-start目录1.实时音视频互动2.鉴权从声网控制台获得 App ID 和临时 Token。鉴权是指在用户访问你的系统前,对用户权限进行校验,声网用 Token 对用户鉴权。Token 也称为动态密钥,是在加入频道时用于校验用户权限的一组字符串。当 App 用户使用声网服务,如加入 RTC 频道时传入 Token,声网服务端会根据 Token 中的信息校验用户的权限。
2025-10-26 20:32:31
50
转载 最大最小公平算法了解
在资源分配时使用,防止较大的把所有资源都抢了。分为带权的和不带权的,带权的按权重从大到小分配,不带权可以按请求时间分配。比如在多个服务申请限流令牌时,可以用该算法。
2025-10-26 18:22:07
32
原创 观察者模式学习
观察者模式是一种行为型模式,用于在对象之间定义一种一对多的依赖关系使得当一个对象的状态发生改变时,所有依赖它的对象都会自动收到通知并更新。一个对象变化时,自动通知一群“订阅它”的对象。
2025-10-25 23:15:58
389
转载 CQRS命令查询职责分离了解
CQRS(Command Query Responsibility Segregation)直译成中文叫命令查询职责分离,是指读写分离。写数据”的过程也被称为“命令(Command)”,即表示外界通过向软件发送一些列的命令达到更新软件内部数据的目的,比如更新用户偏好设置、向电商网站下单等;“读数据”的过程也被称为“查询(Query)”,即从软件中获取数据,比如查看订单信息等。
2025-10-25 22:18:14
26
原创 计算机中浮点数的存储
浮点数(floating point)这个名字其实就来自于:“小数点可以double类型的最大有效位数为16位。“有效位数(significant digits)” 指的是数字中能被精确区分的位数。指数位的308是怎么算的?指数位是其中:全 0(0)用于表示 “非规格化数(denormalized number)”全 1(2047)用于表示 “无穷大(∞)或 NaN”其它(1 ~ 2046)才是真正的指数范围那么2^1023 约等于 10^308次方。“308” 是由double。
2025-10-14 22:58:05
310
原创 sql的表join怎么学?
✅ 目标:理解两个表之间的匹配关系。建议练法:用最小数据表(5~10 行)手画出笛卡尔积(所有组合)观察ON条件如何过滤结果💡 你可以自己造几个 CSV 小表,然后用 SQLite 或 MySQL 本地跑。
2025-10-10 23:40:01
439
原创 系统设计题总结
3.微博关注流怎么实现的?中间用到了什么技术关键词?1.微博热搜,是如何防止崩溃的?热点key的处理方案。7.各大直播平台如何实现直播间功能的?6.大麦秒杀抢票怎么实现限流,不超卖的?5.微信500人群聊怎么实现的?2.各大平台评论系统怎么实现?4.微博转发怎么实现的?
2025-10-09 23:00:30
136
转载 系统扇入和扇出理解
和 “” 是系统设计、架构、甚至电路设计中都会出现的两个概念,用来描述。扇入: 一个系统或模块。表示 “一个往内收” 的数量。扇入过大:压力集中在一个点,容易成为瓶颈,需要负载均衡或水平扩展。扇出: 一个系统或模块。表示 “一个往外发” 的数量。扇出过大:请求链路复杂、依赖过多、延迟累积、可用性降低。扇出过大一般是因为缺乏中间层次,应该适当增加中间层次的模块。
2025-10-08 17:49:33
83
转载 codis架构学习
codis是一种redis 分布式集群解决方案,codis是基于多个redis实例做了一层路由层来进行数据路由,每个redis实例承担一定的数据分片。
2025-10-08 15:48:49
65
转载 B站技术公众号阅读笔记
稿件编辑、更新状态的时候,会同时更新数据版本字段;在更新时会指定更新的版本,如果指定的版本低于当前DB中版本,更新失败。在审核提交因更新的版本低于当前版本报错时,会自动触发重新送审流程,让审核同学审一遍最新版本的稿件。审核环节和用户提交的竞争比较复杂。在审核环节中,从送审读取稿件数据,到审核提交数据,常常会有数十分钟的时间,显然这段时间不让用户编辑是不合理的。因此我们采用CAS方式降低报错概率。
2025-10-01 00:13:33
65
原创 ssh远程连接编译机
ssh:这表示使用 SSH 协议来连接到跳板机(-W %h:%p-W是 SSH 客户端的一个选项,用于指定。%h和%p%h会被替换为目标主机的主机名(HostName%p会被替换为目标主机的端口(Port这意味着会将 SSH 连接的流量转发到目标主机的 IP 和端口。
2025-09-28 00:13:43
202
原创 uint8_t类型日志打印结果
本质上是一个无符号的 8 位整数(0–255),但是在很多日志/打印函数(比如。(Start of Heading),属于不可打印控制字符。在很多终端/日志系统里,控制字符会显示成 ^打印,或者 C++ 流。打印)时,会被解释为。
2025-09-21 13:55:30
174
转载 《设计数据密集型应用》读书笔记
出现了许多新的数据存储工具与数据处理工具,类别之间的界限变得越来越模糊,例如:数据存储可以被当成消息队列用(Redis),消息队列则带有类似数据库的持久保证(Apache Kafka)。
2025-09-21 13:41:54
65
原创 设计模式之责任链模式
是一种行为型设计模式,它将多个处理器(Handler)对象串联成一条链,请求沿着链传递,直到某个处理器能够处理它为止。定义处理请求的接口持有下一个处理者的引用(链式结构)实现处理逻辑如果不能处理请求,则将请求转发给下一个处理者创建责任链发起请求。
2025-09-10 01:42:28
271
原创 栈溢出问题
brpc 的 bthread 默认协程栈大小是(非 pthread 模式)。如果在一个bthread中,它执行的函数内定义了一个局部变量map,有很多个元素,map的大小超过了128KB,协程会自动申请新的栈空间吗?map在栈上,只有几十字节。map每次insert时都会new一个节点,节点在(通过new所以,即使有很多个元素,占用的内存大部分都在,不是栈。
2025-08-30 23:37:10
320
转载 binlog了解
转自: MYSQL的binlog是什么,它的作用是什么? - 梯子教程网binlog会记录每个执行的SQL语句。记录的是每行数据的变化,它记录的是每条SQL语句执行后受影响的行的变化情况。优缺点和statement格式反过来。适用情况: 适用于执行的SQL语句比较复杂的情况。Mixed格式是Statement格式和Row格式的混合使用,MySQL会根据执行的SQL语句自动选择使用哪种格式,因此binlog文件既比较小,又不会出现不同步的问题。根据腾讯云的官方文档,腾讯在其数据库服务(如 TencentDB
2025-05-16 23:40:25
92
转载 websocket原理及代码学习
HTTP协议是单向的,websocket协议可以保持连接,全双工的,属于服务器推送技术的一种。建立在 TCP 协议之上,长连接;握手阶段采用http协议;服务端实现要点:事件循环处理连接连接管理器维护活跃连接消息编解码器。
2025-04-04 14:33:27
145
转载 直播服务器推流了解
搭建直播服务器需要结合流媒体技术网络协议和服务器架构知识。确定直播类型:推流端:主播使用的设备(手机/PC/专业摄像机)传输协议:RTMP(低延迟)、HLS(兼容性高)、WebRTC(实时交互)播放端:Web浏览器、移动App、智能电视等。
2025-03-27 00:04:14
319
转载 MVC模式学习
MVC是模型(Model)、视图(View)和控制器(Controller)的缩写。MVC(Model-View-Controller)是一种经典的软件架构模式,它的核心优势在于关注点分离(Separation of Concerns),通过将应用程序分为三个主要组件来提升代码的可维护性、可扩展性和可测试性。
2025-03-26 23:04:54
76
转载 go项目目录结构学习
assets目录: 项目中使用的其他资源(图像,Logo等)。build目录: 打包和持续集成。将云(AMI),容器(Docker),操作系统(deb,rpm,pkg)软件包配置和脚本放在目录中。cmd目录: 项目主要的应用程序。不要在这个目录中放太多的代码。如果目录中的代码可以被其他项目导入并使用,那么应该把他们放在/pkg目录。通常来说,项目都应该拥有一个小的main函数,并在main函数中导入或者调用/internal和/pkg目录中的代码。config目录: 配置文件模板或默认配置。
2025-03-26 00:01:34
126
转载 rpc框架支持多协议
处理多协议,协议的作用就是用于分割二进制数据流(Split binary data stream)。每种协议约定的数据包格式是不一样的,而且每种协议开头都有一个协议编码,我们一般叫做 magic number魔数。协议解析过程就是把一连串的二进制数据变成一个 RPC 内部对象,但这个对象一般是跟协议相关的。当 RPC 收到了数据包后,我们可以先解析出 magic number 来。获取到 magic number 后,我们就很容易地找到对应协议的数据格式,然后用对应协议的数据格式去解析收到的二进制数据包。
2025-03-22 23:18:53
73
原创 线程和协程的区别了解
✅ 线程创建 & 销毁:创建:需要申请内核资源(线程栈、PCB 等),大约消耗 几 MB 内存销毁:回收内核资源,代价也不小上下文切换:涉及用户态/内核态切换,保存寄存器、栈、内存页表,切换一次可能 耗时 1000ns+✅ 协程创建 & 销毁:创建:只需要申请一小段栈空间(一般几 KB),几乎不涉及内核资源销毁:内存回收代价极小上下文切换:只保存少量寄存器和栈,切换一次只需 几十纳秒(几乎不感知)👉 总结一句话:线程是“重装战士”,适合 多核并行 + CPU 密集型任务协程是“敏捷刺客”,适合 高并发 I
2025-03-22 16:54:07
430
原创 tps、并发数、日活了解
并发数()指的是系统正在处理的请求、任务或连接的数量。⚡👉: 假设你有一个服务,每个请求需要 2 秒完成,系统最大支持 500 个请求同时在跑,那么你最高能撑到的并发数就是。是指每秒系统的请求数量,通常用来衡量系统的。⚡👉: 如果你的系统在 1 秒内处理了个请求,那你的 QPS 就是。
2025-03-22 14:09:16
834
转载 cas认证了解
CAS(Central Authentication Service,中央信任认证服务)是一种**单点登录(SSO)**协议,它的核心目标是让用户只需登录一次,就能访问多个相互独立的应用系统,提升用户体验,同时确保安全性。用户访问应用系统A用户尝试访问一个受保护的应用,比如。重定向到CAS服务器如果用户尚未登录,应用A会将用户重定向到CAS认证服务器,比如。当用户访问应用A,但没有登录时,应用A的服务器会返回一个HTTP 302(临时重定向)
2025-03-13 23:52:06
306
转载 pulsar了解
pulsar相较于kafka的优势是,它通过计算+存储分离实现的。是一个它支持,并具备的特性。Pulsar 采用架构,与 Kafka 相比,它在方面有独特优势。
2025-03-10 23:46:23
133
2018年美赛题目(MCM_ICM_Problems_ABCDEF)
2018-04-27
jlu软件学院软构件与中间件JavaEE课设
2018-09-21
jboss-as-7.1.1.Final
2018-09-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅