百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
R

rend

> 编程语言
开源

一个管理数据分块和 L1/L2 缓存的 memcached 代理

1.2K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

一个管理数据分块和 L1/L2 缓存的 memcached 代理

Rend: 兼容 Memcached 的服务器和代理服务器 Rend 是一个代理服务器,其主要用例是在同一台服务器上同时运行 memcached 进程和 SSD 支持的 L2 缓存。它是用 Go 编写的,目前正在 Netflix 进行活跃的开发。关于 Rend 的一些其他细节:

Netflix 使用缓存有多种方式。有些人将其用作真正的工作集缓存,而其他人则将其作为其服务的唯一存储机制。还有人将其用作会话缓存。这意味着,有些服务在出现部分数据丢失的情况下仍能正常运行,而其他服务则会永久丢失数据,并开始提供备用服务。Rend 旨在补充 EVCache,这是 Netflix 使用的主要缓存解决方案。

Rend 的起源是 Memcached 的内存管理。内部,Memcached 保存了一组用于不同大小数据的块。块是逻辑上的页面组,启动时设置了固定大小。页面映射到物理内存,并根据块的数据大小进行分割。在 1.4.24 及之前的版本中,页面永久分配给特定的块,即使为空也不会释放。此外,如果 RAM 中的数据中有许多空间,则不会进行压缩,因此内存会随着时间的推移而变得非常碎片化。随着时间的推移,这种情况已经发生了变化,现在这个问题不像以前那样严重。

故事的第二部分发生在 Netflix 公司内部。每天晚上,一个大型批处理程序会在多个步骤中为我们的每位会员计算推荐内容。每个步骤都会将其输出加载到 EVCache 中。某一天,底层数据源发生了变化,导致一个批处理计算过程的输出大幅变化。当数据集

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Go

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言