NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

专家观点——唐福林谈 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 中文站发布。

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2011-11-02 20:175917

评论

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

使用Supervisor守护Nginx进程

乌龟哥哥

10月月更

Sonar使用的初次思考

Andy

jdk11之Idea使用问题

Andy

java之线程

Andy

Es6中的this指向

乌龟哥哥

10月月更

SVN简介

Andy

java之理论问题集合

Andy

Git之标签管理

Andy

Maven之简要学习

Andy

管理思考

Andy

zTree

Andy

GitHub简介

Andy

Git之分支管理

Andy

软件配置管理概述

Andy

数据湖(十三):Spark与Iceberg整合DDL操作

Lansonli

数据湖 10月月更

java之类库

Andy

“程”风破浪的开发者|OpenHarmony的dcts分布式兼容性测试套件学习

鸿蒙之旅

OpenHarmony 10月月更 “程”风破浪的开发者

Maven简介

Andy

“程”风破浪的开发者|云数据库时代,DBA要掌握哪些技能?

乌龟哥哥

学习方法 10月月更 “程”风破浪的开发者

java之流

Andy

Git简介

Andy

【web 开发基础】PHP 循环结构之do...while 循环 -PHP 快速入门 (18)

迷彩

10月月更 PHP基础 循环结构 do...while

golang中的锁竞争问题

六月的

golang

重塑影响力

光毅

开发者如何构建技术影响力

线程池浅析

Andy

java之扩展概念

Andy

java之反射机制与国际化、网络编程、数据库编程、不可变对象

Andy

“程”风破浪的开发者|思考?——小问题大道理

江拥羡橙

微信小程序 学习方法 HTML5, CSS3 “程”风破浪的开发者

“程”风破浪的开发者|微信小程序生成海报图片导出相册

江拥羡橙

微信小程序 学习方法 canvas “程”风破浪的开发者

Docker常用命令

Geek_633117

Docker

java之新特性

Andy

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