写点什么

专家观点——唐福林谈 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:176008

评论

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

浅谈数仓建设及数据治理 | 社区征文

五分钟学大数据

数仓 新春征文

JVM进阶(十二):JAVA 可视化分析工具

No Silver Bullet

JVM 监控工具 2月月更

Nodejs内置模块path与fs模块简单使用

编程江湖

nodejs

教你从零搭建Web漏洞靶场OWASP Benchmark

华为云开发者联盟

渗透测试 漏洞 安全测试 漏洞靶场

营销MM让我讲MySQL日志顺序读写及数据文件随机读写原理

华为云开发者联盟

MySQL 磁盘 数据读写 日志顺序读写 数据文件随机读写

王者荣耀商城异地多活架构设计

swallowluo

架构实战营 #架构实战营 「架构实战营」

火遍网络的KPI异常检测到底什么梗?

乌龟哥哥

2月月更

也谈向上管理

wood

向上管理 300天创作

鸿蒙轻内核源码分析:文件系统FatFS

华为云开发者联盟

鸿蒙 Fat 文件系统 鸿蒙轻内核 FatFS

DDD[0]·序

陆乘风

领域驱动设计 领域驱动设计DDD 领域驱动设计思想

关于大数据计算框架Flink内存管理的原理与实现总结 | 社区征文

张浩_house

大数据 flink 新春征文

第八节:SpringBoot指定配置文件配置三

入门小站

Java

在线IEEE浮点二进制计算器工具

入门小站

工具

Go 语言入门很简单:技巧和窍门(Tips and Tricks)

宇宙之一粟

Go 语言 2月月更

第1章:初识数据库与MySQL----数据库基本概念

乌龟哥哥

MySQL 2月月更

Mybatis常用注解中的SQL注入

编程江湖

蚂蚁大规模 Kubernetes 集群无损升级实践指南【探索篇】

SOFAStack

云原生 etcd #Kubernetes# #k8s SIGMA

golang 面试总结

yuexin_tech

golang 面试

try{}catch居然可以隐藏?让我们用函数式接口来实现吧

山河已无恙

Java 2月月更

知名云计算厂商云宏加入龙蜥社区,共同打造信息安全坚实“地基”

OpenAnolis小助手

云计算 Linux 开源 社群运营

HarmonyOS canvas绘制“飞机大战”小游戏,真香!

HarmonyOS开发者

HarmonyOS

金3银4面试前,把自己弄成卷王!

小傅哥

面试 小傅哥 金三银四 项目学习

云原生时代,软件交付有何不同 | 研发效能提升36计

阿里云云效

阿里云 云原生 持续交付 云平台 研发

Nacos服务注册与发现的2种实现方法!

王磊

nacos SpringCloud Alibaba

新年开工新气象|OceanBase 祝大家开工大吉!

OceanBase 数据库

开源 OceanBase 社区版 开工大吉

经验分享 | TDengine在智能船舶领域的实践手册

TDengine

数据库 大数据 tdengine 物联网 时序数据库

[JAVA冷知识]为什么动态加载不适合数组?如何动态加载一个数组?

山河已无恙

Java 2月月更

vivo直播应用技术实践与探索

vivo互联网技术

RTMP 直播技术

你使用的是数据结构还是对象?

蜜糖的代码注释

Java 后端开发 2月月更

JVM进阶(十三):阶段学习回顾

No Silver Bullet

JVM 2月月更 回顾

混合云模式下,如何定义一款好的 API 网关

API7.ai 技术团队

流量控制 api 网关 微服务治理 Apache APISIX

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