在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

专家观点——唐福林谈 Redis 应用实践

  • 2011-11-02
  • 本文字数:847 字

    阅读完需:约 3 分钟

唐福林是新浪微博开放平台资深工程师,目前负责 t.cn 短链、用户关系、计数器等底层服务。他曾负责过包括新浪邮箱全文搜索在内的多个基于 Lucene 的垂直搜索引擎开发,以及新浪爱问和新浪播客的运维,对承载大数据量、高并发的互联网基础设施建设有丰富的经验。他在 QCon 杭州 2011 大会的开放平台专题做了名为《新浪微博开放平台中的Redis 实践》的讲座,并和参会者做了热烈的讨论。会后,InfoQ 中文站对唐福林做了采访。

InfoQ: 新浪微博的业务场景对缓存和存储提出了哪些要求?

根据微博的业务特点,主要有这么一些要求:
1. 海量存储;
2. 大量计算;
3. 对可靠性要求高;
4. 对速度要求高。

InfoQ:Redis 的主要优势在哪里?适用哪些场景?

主要优势个人觉得有 2 点:
1. 丰富的数据结构;
2. 高速读写。
所以适用于需要高速读写,而且需要比 k-v 更多的数据结构的地方。

InfoQ:Redis 有哪些不足?如何解决?

持久化是 Redis 的一个软肋,需要尽量避免。
还有一个问题就是,Redis 比较耗内存,尤其是数据量大的时候。而 Redis 又要求所有的数据必须都在内存里,这是一个矛盾,需要小心对待。

InfoQ:Redis 的调优存在哪些技巧?

Redis 从配置文件层面可以调的参数不多,只有 hash-max-zip-size 系列的参数调整可能对性能产生影响。如果想要达到特别的目标,那么就需要修改代码行为。
庆幸的是,Redis 的代码足够简单,二次开发定制都非常方便。

InfoQ:Memcache 和 Redis 是什么样的关系?

相辅相成吧。当前情况下,各有优缺点。不过个人觉得,长期看来,可以用 Redis 替代 Memcache。

InfoQ: 能否总结下在应用 Redis 时的经验教训?

主要有这么几个:

  1. 决定使用 Redis 之前,做好容量规划;
  2. 使用 Redis 的过程中,做好监控报警;
  3. 谨慎选择持久化方案,对可能造成的高延迟要有心理准备;
  4. 小心 Redis 的内存碎片。

InfoQ: 新浪微博在 Redis 方面下一步有哪些计划?

主要是继续推进 RedisCounter 的开发,还有一些存储列表类数据的 eRedis 的定制开发。

唐福林在 QCon 杭州 2011 大会上讲座的幻灯片可以在此下载,演讲视频稍后会在 InfoQ 中文站发布。

2011-11-02 20:176515

评论

发布
暂无评论
发现更多内容

Milvus 2.1 版本更新 - 简单可信赖、性能持续提升

Zilliz

人工智能 开源项目 Milvus 版本更新 向量数据库

「CSS畅想」定时+随机,开启今日上上签

叶一一

JavaScript 前端 10月月更

微信红包实现原理

Johnny

企业号十月PK榜,年度榜单倒计时开始!

InfoQ写作社区官方

企业号十月PK榜

Baklib分享|知识管理是企业发展的风向标

Baklib

DDC SDK的整体设计流程

BSN研习社

如何“阅读”数学?:上海顶尖中学学生的阅读笔记

图灵教育

数学 青少年

面向对象之方法重载

魏铁锤

10月月更

Vue 2x 中使用 render 和 jsx 的最佳实践 (1)

默默的成长

Vue 前端 10月月更

深入浅出理解Java并发AQS的独占锁模式

JAVA旭阳

Java 并发 10月月更

cstdio的源码学习分析10-格式化输入输出函数fprintf---宏定义/辅助函数分析02

桑榆

源码刨析 10月月更 C++

「小程序开发」关于网页与小程序的通信

叶一一

前端 小程序开发 10月月更

层出不穷的机器学习框架到底在“卷”什么?

小红书技术REDtech

机器学习

Baklib|构建在线客户服务,产品知识库至关重要

Baklib

Baklib|关于帮助中心需要注意的一些细节

Baklib

三步玩转:如何通过Flink OceanBase CDC连接器快速查询数据

OceanBase 数据库

「CSS畅想」自动打字效果,默写首诗来读读

叶一一

JavaScript 前端 10月月更

微信红包后台系统可用性设计实践

Johnny

Java面向对象之构造方法

魏铁锤

10月月更

当 WASM 遇见 eBPF:使用 WebAssembly 编写、分发、加载运行 eBPF 程序 | 龙蜥技术

OpenAnolis小助手

开源 操作系统 内核 ebpf Wasm

如何“阅读”数学?:上海顶尖中学学生的阅读笔记

图灵社区

数学 青少年

图解ReentrantLock公平锁和非公平锁实现

JAVA旭阳

Java 并发 10月月更

你对“低代码”存在哪些误解?

优秀

低代码

【10.7-10.14】写作社区优秀技术博文一览

InfoQ写作社区官方

优质创作周报

【从0到1学算法】4.Bubble Sort算法-上

Geek_65222d

10月月更

leetcode 146. LRU Cache LRU 缓存 (简单)

okokabcd

LeetCode 数据结构与算法

一文彻底搞懂IP地址到底是什么?

長歌

【愚公系列】2022年10月 Go教学课程 028-函数小结案例(通讯录)

愚公搬代码

10月月更

容量管理的三个层次

阿泽🧸

10月月更 容量管理

Baklib分享|提高工作效率,在线协作文档

Baklib

微信红包体系设计分析

Johnny

专家观点——唐福林谈Redis应用实践_DevOps & 平台工程_唐福林_InfoQ精选文章