<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Redis on Tony Bai</title><link>https://tonybai.com/tags/redis/</link><description>Recent content in Redis on Tony Bai</description><generator>Hugo</generator><language>zh-cn</language><copyright>2004-2026 Tony Bai. 版权所有.</copyright><lastBuildDate>Fri, 29 May 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://tonybai.com/tags/redis/index.xml" rel="self" type="application/rss+xml"/><item><title>Redis 之父吐槽现代前端的复杂性：我们到底是在解决问题，还是在制造问题？</title><link>https://tonybai.com/2026/05/29/redis-creator-slams-modern-frontend-complexity/</link><pubDate>Fri, 29 May 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/05/29/redis-creator-slams-modern-frontend-complexity/</guid><description>本文永久链接 – https://tonybai.com/2026/05/29/redis-creator-slams-modern-frontend-complexity 大家好，我是Tony Bai。 曾几何时，Web 开发是一件极其纯粹且美好的事情。 在那个遥远的上世纪 90 年代末，你只需要写几个简单的 .html 文件，撒上一点 .css，再用几行 JavaScript 操纵一下表单，就...</description></item><item><title>耗时六个月，我为你画了一张通往“分布式架构师”的黄金地图</title><link>https://tonybai.com/2026/01/06/a-golden-map-to-distributed-architect/</link><pubDate>Tue, 06 Jan 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/01/06/a-golden-map-to-distributed-architect/</guid><description>耗时六个月，我为你画了一张通往“分布式架构师”的黄金地图 - Tony Bai Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FAQ * 关于我 * 我的技术专栏 * 文章列...</description></item><item><title>MinIO 开源版突发“安乐死”：维护模式开启，社区愤怒，你的数据还安全吗？</title><link>https://tonybai.com/2025/12/04/minio-enter-maintenance-mode/</link><pubDate>Thu, 04 Dec 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/12/04/minio-enter-maintenance-mode/</guid><description>本文永久链接 – https://tonybai.com/2025/12/04/minio-enter-maintenance-mode 大家好，我是Tony Bai。 “这个项目目前处于维护状态，不接受新的更改。” 近日，GitHub 上拥有近 60k Star、Go 语言生态中最著名的开源对象存储项目——MinIO，悄然修改了其 README。这一行看似平淡的声明，标志着 MinIO 开源版实...</description></item><item><title>你的 Go 测试，还停留在“演员对台词”吗？</title><link>https://tonybai.com/2025/11/17/go-testing-journey/</link><pubDate>Mon, 17 Nov 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/11/17/go-testing-journey/</guid><description>本文永久链接 – https://tonybai.com/2025/11/17/go-testing-journey 大家好，我是Tony Bai。 我想请大家想象一个场景： 周五下午五点，你刚刚修复了一个看似无关紧要的 bug，怀着对周末的憧憬，合并了你的代码。CI/CD 流水线一片绿灯，部署顺利完成。 突然，运维在工作群里 @ 了你：“紧急！新版本上线后，核心的用户注册功能好像挂了！” 你心里...</description></item><item><title>从 0 到 1.5 亿 QPS：Uber 核心存储架构的十年演进与缓存设计哲学</title><link>https://tonybai.com/2025/09/01/uber-150-million-reads/</link><pubDate>Mon, 01 Sep 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/09/01/uber-150-million-reads/</guid><description>本文永久链接 – https://tonybai.com/2025/09/01/uber-150-million-reads 大家好，我是Tony Bai。 在 Uber 这样体量的公司，其核心在线存储系统不仅要处理 PB 级的海量数据，还要以毫秒级的延迟响应每秒上亿次的请求。这一切是如何实现的？本文将深度整合 Uber 工程团队这几年公开发布的三篇文章，和大家一起穿越其核心存储架构的十年演进史：...</description></item><item><title>“无聊”设计的终极奥义：为什么“做可能奏效的最简单的事”是最高法则？</title><link>https://tonybai.com/2025/08/31/the-simplest-thing-that-could-possibly-work/</link><pubDate>Sun, 31 Aug 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/08/31/the-simplest-thing-that-could-possibly-work/</guid><description>本文永久链接 – https://tonybai.com/2025/08/31/the-simplest-thing-that-could-possibly-work 大家好，我是Tony Bai。 在我们解读了Github工程师Sean Goedecke关于“无聊即可靠”的系统设计和API设计理念之后，他再次带来了一篇精彩的的文章——《Do the simplest thing that cou...</description></item><item><title>无聊即可靠：一位资深工程师的九条系统设计法则</title><link>https://tonybai.com/2025/08/26/good-system-design/</link><pubDate>Tue, 26 Aug 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/08/26/good-system-design/</guid><description>本文永久链接 – https://tonybai.com/2025/08/26/good-system-design 大家好，我是Tony Bai。 在技术圈，我们常常被各种“炫技式”的系统设计建议所包围。从入门级的“你一定没听说过队列吧？”到专家级的“在数据库里存布尔值简直是灾难”，这些建议要么过于肤浅，要么过于精巧，往往脱离了大多数工程实践的真实上下文。就连《设计数据密集型应用》这样的经典之作...</description></item><item><title>通过实例理解API网关的主要功能特性</title><link>https://tonybai.com/2023/12/03/understand-api-gateway-main-functional-features-by-example/</link><pubDate>Sun, 03 Dec 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/12/03/understand-api-gateway-main-functional-features-by-example/</guid><description>本文永久链接 – https://tonybai.com/2023/12/03/understand-api-gateway-main-functional-features-by-example 在当今的技术领域中，“下云”的概念正逐渐抬头，像David Heinemeier Hansson(37signals公司的联合创始人, Ruby on Rails的Creator)就直接将公司所有的业务...</description></item><item><title>关系代数、SQL语句和Go语言示例</title><link>https://tonybai.com/2023/11/15/relational-algebra-and-sql-with-go-examples/</link><pubDate>Wed, 15 Nov 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/11/15/relational-algebra-and-sql-with-go-examples/</guid><description>本文永久链接 – https://tonybai.com/2023/11/15/relational-algebra-and-sql-with-go-examples 近些年，数据库领域发展日新月异，除传统的关系型数据库外，还出现了许多新型的数据库，比如：以HBase、Cassandra、MongoDB为代表的NoSQL数据库，以InfluxDB、TDEngine为代表的时序数据库，以Neo4J、...</description></item><item><title>Go项目组织：在单一repo中管理多个Go module指南</title><link>https://tonybai.com/2023/05/10/a-guide-of-managing-multiple-go-modules-in-mono-repo/</link><pubDate>Wed, 10 May 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/05/10/a-guide-of-managing-multiple-go-modules-in-mono-repo/</guid><description>本文永久链接 – https://tonybai.com/2023/05/10/a-guide-of-managing-multiple-go-modules-in-mono-repo 0\. 单repo单module管理回顾 -------------------- 众所周知，Go在1.11版本中引入了go module，随着近几年Go module机制的逐渐成熟，它已经被Go团队确定为**Go...</description></item><item><title>单测时尽量用fake object</title><link>https://tonybai.com/2023/04/20/provide-fake-object-for-external-collaborators/</link><pubDate>Thu, 20 Apr 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/04/20/provide-fake-object-for-external-collaborators/</guid><description>本文永久链接 – https://tonybai.com/2023/04/20/provide-fake-object-for-external-collaborators 1\. 单元测试的难点：外部协作者(external collaborators)的存在 -------------------------------------------- 单元测试是软件开发的一个重要部分，它有助于在开...</description></item><item><title>为什么有了Go module后“依赖地狱”问题依然存在</title><link>https://tonybai.com/2022/03/12/dependency-hell-in-go/</link><pubDate>Sat, 12 Mar 2022 00:00:00 +0800</pubDate><guid>https://tonybai.com/2022/03/12/dependency-hell-in-go/</guid><description>本文永久链接 – https://tonybai.com/2022/03/12/dependency-hell-in-go 如果所有Gopher都抛弃GOPATH构建模式，拥抱Go module构建模式；如果所有legacy Go package作者都能为自己的legacy package加上go.mod；如果所有Go module作者都严格遵守语义版本(semver)规范，那么Go将彻底解决“依...</description></item><item><title>使用Docker Compose构建一键启动的运行环境</title><link>https://tonybai.com/2021/11/26/build-all-in-one-runtime-environment-with-docker-compose/</link><pubDate>Fri, 26 Nov 2021 00:00:00 +0800</pubDate><guid>https://tonybai.com/2021/11/26/build-all-in-one-runtime-environment-with-docker-compose/</guid><description>本文永久链接 – https://tonybai.com/2021/11/26/build-all-in-one-runtime-environment-with-docker-compose 如今，不管你是否喜欢，不管你是否承认，微服务架构模式的流行就摆在那里。作为架构师的你，如果再将系统设计成个大单体结构，那么即便不懂技术的领导，都会给你送上几次白眼。好吧，妥协了！开拆！“没吃过猪肉，还没见过...</description></item><item><title>minikube v1.20.0版本的一个bug</title><link>https://tonybai.com/2021/05/14/a-bug-of-minikube-1-20/</link><pubDate>Fri, 14 May 2021 00:00:00 +0800</pubDate><guid>https://tonybai.com/2021/05/14/a-bug-of-minikube-1-20/</guid><description>本文永久链接 – https://tonybai.com/2021/05/14/a-bug-of-minikube-1-20 近期在研究dapr(分布式应用运行时)，这是一个很朴素却很棒的想法，目前大厂，如阿里和鹅厂都有大牛在研究该项目，甚至是利用dapr落地了部分应用。关于dapr，后续我也会用单独的文章详细说说。 dapr不仅支持k8s部署，还支持本地部署，并可以对接多个世界知名的公有云厂商的...</description></item><item><title>基于Redis Cluster的分布式锁实现以互斥方式操作共享资源</title><link>https://tonybai.com/2021/02/13/operate-with-shared-resources-in-a-mutually-exclusive-way-through-distributed-lock-implemented-by-redis-cluster/</link><pubDate>Sat, 13 Feb 2021 00:00:00 +0800</pubDate><guid>https://tonybai.com/2021/02/13/operate-with-shared-resources-in-a-mutually-exclusive-way-through-distributed-lock-implemented-by-redis-cluster/</guid><description>今天要说的技术方案也是有一定项目背景的。在上一个项目中，我们需要对一个redis集群中过期的key进行处理，这是一个分布式 系统，考虑到高可用性，需要具备过期处理功能的服务有多个副本，这样我们就要求在同一时间内仅有一个副本可以对过期的key&amp;gt;进行处理，如果该副本挂掉，系统会在其他副本中再挑选出一个来处理过期的key。 很显然，这里涉及到一个选主(leader election)的过程。每当涉及选主...</description></item><item><title>在Kubernetes集群上部署高可用Harbor镜像仓库</title><link>https://tonybai.com/2017/12/08/deploy-high-availability-harbor-on-kubernetes-cluster/</link><pubDate>Fri, 08 Dec 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/12/08/deploy-high-availability-harbor-on-kubernetes-cluster/</guid><description>关于基于Harbor的高可用私有镜像仓库，在我的博客里曾不止一次提到，在源创会2017沈阳站上，我还专门以此题目和大家做了分享。事后，很多人通过微博私信、个人公众号或博客评论问我是否可以在Kubernetes集群上安装高可用的Harbor仓库，今天我就用这篇文章来回答大家这个问题。 一、Kubernetes上的高可用Harbor方案 ------------------------- 首先，我可以...</description></item><item><title>源创会2017沈阳站讲稿：基于Harbor的高可用企业级私有容器镜像仓库部署实践</title><link>https://tonybai.com/2017/10/23/the-speech-script-practice-on-deploying-a-ha-harbor-cluster-for-osc-shenyang-2017/</link><pubDate>Mon, 23 Oct 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/10/23/the-speech-script-practice-on-deploying-a-ha-harbor-cluster-for-osc-shenyang-2017/</guid><description>上周六开源中国的源创会在沈阳举办了一次技术活动，很荣幸以本地讲师的身份和大家交流了一个topic: “基于Harbor的高可用企业级私有容器镜像仓库部署实践”。之所以选择这个topic，是因为这是我们团队的项目实践心得。很多企业和组织在深入使用Docker之后，都会有类似的高可用私有容器仓库搭建的需求，于是我就把我们摸索的实践和填坑过程拿出来，用30分钟与大家分享一下。另外这算是一个入门级的分享，...</description></item><item><title>基于Harbor和CephFS搭建高可用Private Registry</title><link>https://tonybai.com/2017/06/09/setup-a-high-availability-private-registry-based-on-harbor-and-cephfs/</link><pubDate>Fri, 09 Jun 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/06/09/setup-a-high-availability-private-registry-based-on-harbor-and-cephfs/</guid><description>我们有给客户搭建私有容器仓库的需求。开源的私有容器registry可供选择的不多，除了docker官方的distribution之外，比较知名的是VMware China出品的Harbor，我们选择了harbor。 harbor在docker distribution的基础上增加了一些安全、访问控制、管理的功能以满足企业对于镜像仓库的需求。harbor以docker-compose的规范形式组织各...</description></item><item><title>Kubernetes集群中的Nginx配置热更新方案</title><link>https://tonybai.com/2016/11/17/nginx-config-hot-reloading-approach-for-kubernetes-cluster/</link><pubDate>Thu, 17 Nov 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/11/17/nginx-config-hot-reloading-approach-for-kubernetes-cluster/</guid><description>Nginx已经是互联网IT业界一个无敌的存在，作为反向代理、负载均衡、Web服务器等多种角色的扮演者，Nginx在全球各个互联网公司落地、开花和结果，Ngnix已经成为了支撑全球互联网应用的一个不可获取的组成部分。 在我们的平台中，Nginx同样被拿来作为服务接入的最前端的反向代理，并且我们的Nginx也是作为一个Service跑在我们的Kubernetes集群中的。Ngnix背后的服务众多，服务...</description></item><item><title>Rancher使用入门</title><link>https://tonybai.com/2016/04/14/an-introduction-about-rancher/</link><pubDate>Thu, 14 Apr 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/04/14/an-introduction-about-rancher/</guid><description>上个月末，Rancher Labs在其官方博客上宣布了 Rancher 1.0正式版本发布。 这是继Apache Mesos、 Google Kubernetes以及Docker 原生 Swarm 之后，又一个可用于Production环境中的容器管理和服务编排工具，而Rancher恰似这个领域的最后一张拼图（请原谅我的孤陋寡闻，如 果有其他 厂商在做这方面产品，请在评论中留言告诉我）。从Ranc...</description></item><item><title>weed-fs使用简介</title><link>https://tonybai.com/2015/08/22/intro-of-using-weedfs/</link><pubDate>Sat, 22 Aug 2015 00:00:00 +0800</pubDate><guid>https://tonybai.com/2015/08/22/intro-of-using-weedfs/</guid><description>weed-fs，全名Seaweed-fs，是一种用golang实现的简单且高可用的分布式文件系统。该系统的目标有二： \- 存储billions of files \- serve the files fast weed-fs起初是为了搞一个基于Fackbook的Haystack论文的实现，Haystack旨在优化Fackbook内部图片存储和获取。后在这个基 础上，weed-fs作者又增加了若干...</description></item><item><title>也谈C语言的Struct Hack</title><link>https://tonybai.com/2013/03/07/struct-hack-in-c/</link><pubDate>Thu, 07 Mar 2013 00:00:00 +0800</pubDate><guid>https://tonybai.com/2013/03/07/struct-hack-in-c/</guid><description>今天在浏览网友huangz编写的“Redis源码分析”时，看到如下redis中的代码： struct sdshdr {     int len;     int free;     char buf\[\]; }; 说实话，这类代码我见过很多，但直到这次我才知道这种coding trick的真实英文称谓是：Struct Hack。 到底什么是Struct Hack？其实倒也没有什么明确定义。首先它...</description></item><item><title>辩证地看待“重新发明轮子”</title><link>https://tonybai.com/2012/11/02/treat-reinventing-the-wheel-dialectically/</link><pubDate>Fri, 02 Nov 2012 00:00:00 +0800</pubDate><guid>https://tonybai.com/2012/11/02/treat-reinventing-the-wheel-dialectically/</guid><description>C程序员骨子里都有一种“重新发明轮子(Reinventing the Wheel)”的特质。在面向对象、组件化流行以及崇尚复用的今天，这种特质似乎总是被认为是反面教材。但伟大的毛主席教导我们：要辩证地看待一切事物， 凡事无绝对。事物都是有两面性的，有好就有坏，有坏就有好。拿“重新发明轮子”这事而言，我们除了看到其弊端外，还要充分领会到其好的一面，不能一棒子打 死，这样才能在特定的场景下作出正确合理...</description></item></channel></rss>