0%

前言

Redis 作为一款高性能的内存数据库,凭借其高效、灵活的特性,已成为当下绝大多数项目的核心依赖,广泛应用于缓存、计数、消息队列、地理位置查询等各类场景。

本文整理了 Redis 最常用的 9 种数据类型,每个类型都配实战指令 + 真实业务场景,既是入门教程,也是日常开发的速查手册,看完就能直接上手!

阅读全文 »

前言

在互联网产品进入亿级DAU(日活)时代的今天,实时、精准、高效的在线用户统计已成为社交、游戏、直播等场景的基石能力。

传统方案(如Redis Set、DB计数)在千万级以下尚可应付,一旦面对亿级乃至十亿级用户规模,立即暴露致命短板:

  • 内存失控:10亿用户,仅存ID就需上百GB内存
  • 性能瓶颈SCARD统计总数全量扫描,延迟动辄秒级,高峰QPS难破十万。
  • 扩展性差:难以适配雪花ID等分布式ID,单Key过大易导致集群倾斜。

有没有一套方案,既能支撑亿级流量,又兼顾内存和性能,还能直接落地生产?当然有!

阅读全文 »

前言

面试中被问到 “1 亿玩家实时排名如何实现”,90% 的开发者只会说 “用 Redis”,但能讲清分片策略、同分数排序、性能优化 的人不足 10%。

这个问题的核心诉求远不止 “能用 Redis”,而是要满足:

  • 排名毫秒级实时更新(玩家分数变化立即反映);
  • 高并发查询(百万 QPS 下排名查询不卡顿);
  • 海量数据支撑(1 亿玩家无性能瓶颈);
  • 边界场景兼容(同分数、跨分片全局排名)。

在游戏、直播等互联网场景中,实时排名系统是提升用户参与感和刺激竞争的核心功能。本文将从零开始,详细讲解如何设计并实现一个支持1亿玩家、高并发实时更新的排名系统。

阅读全文 »

前言

之前已经讲过2篇接口防刷的文章:《别再让接口被刷爆了!资深架构师的防刷实战笔记,附完整代码1》、《别再让接口被刷爆了!资深架构师的防刷实战笔记,附完整代码2》,都是我们自己实现lua脚本的,包含算法

  • 固定窗口计数器算法
  • 令牌桶限流
  • 漏桶限流
  • 滑动时间窗口限流

今天再加一篇吧,我们不用自己实现lua脚本了,直接用现成的限流类就行。

阅读全文 »

谁懂啊!做小程序或 App 时,想加个抽奖、桌游类互动功能,一个酷炫的 3D 骰子真的能拉满氛围感✨。今天就给大家分享一个我珍藏的 Uniapp 骰子组件,不仅能直接用,还能随心定制样式,新手也能轻松拿捏。咱们不搞晦涩术语,就像拆玩具一样,一步步摸清它的构造!

一、先看效果

先放个“成品预告”,让大家有直观感受:

阅读全文 »

年底一到,总有朋友追着问:“明年我犯不犯凶星?”“为啥同个生肖有人说犯官符,有人说犯天狗?”“怎么自己算流年神煞,不被忽悠?”

其实老祖宗传下来的 “流年神煞计算” 一点都不复杂,核心就 3 个基础概念 + 1 个排盘规则,今天我把这套逻辑拆到 “小白能上手算” 的程度,从神煞含义到计算方法,从单凶到叠凶,一篇讲透!

阅读全文 »

每天在Linux终端敲命令,谁没依赖过Tab键的命令补全?输入cd /ho按Tab自动补全成cd /home/,输入$JAV按Tab秒出$JAVA_HOME——这个小功能帮我们省了无数记参数、拼路径的时间。

但你有没有想过:这背后是怎么实现的?更重要的是,自己写的运维脚本(比如服务管理、系统查询脚本),能不能也加上这种“Tab补全buff”?

今天就从底层逻辑到实操落地,把Linux脚本参数补全讲透。不管是日常运维还是团队协作,学会这招能让你的脚本从“能用”直接升级到“好用”,大幅降低操作成本。

阅读全文 »

概述

在日常的 Kubernetes 开发和运维工作中,频繁查看容器日志是必不可少的一环。然而,原生的 kubectl logs命令在实际使用中存在诸多不便:

  • Pod 标识不稳定:Pod 重启后名称会变化,需要重新查找
  • 命令冗长繁琐:每次都需要指定命名空间、Pod 名称等参数
  • 缺乏交互体验:多实例情况下需要手动选择,无颜色高亮
  • 功能受限:简单的日志查看,缺乏过滤、分页等高级功能

为此,我封装了一个 klog.sh工具,极大提升了 Kubernetes 日志查询的效率和体验。

阅读全文 »

引言

还在用“传参大法”吗?

userIdtraceIdpageNo从Controller一路传到Service,再传到Repository?你的方法签名是不是已经长到看不清,代码里到处是重复的取值和校验?

这不是优雅,这是“参数包袱”。它让代码臃肿、难以测试,更在异步编程时直接“瘫痪”。

阅读全文 »