缓存教程

     

在Spring Boot中配置Redis作为Hibernate二级缓存

1286 3K

通常情况下,RDBMS 数据库将成为您不断增长的应用程序中的主要可伸缩性瓶颈。这是由于 RDBMS 对水平扩展的天然抵制。已经出现了几种策略来缓解这个问题,包括只读副本、分区、分片以及将一些工作负载卸.

后端系统中的可扩展读写操作方案

1119

当您从头开始构建后端系统时,一切都会看起来很美好。API 响应速度极快(例如,100 毫秒响应时间),资源消耗看起来很稳定,最重要的是用户很高兴使用您的系统,这会让您为您的系统及其架构感到自豪。随着时.

Twitter为什么没有宕机?

1395 2K

五年来,我一直是 Twitter 的站点可靠性工程师 (SRE),以后四年里,我是 Cache 团队唯一的 SRE,四年来,我负责团队中的自动化、可靠性和运营。我设计并实现了大部分保持它运行的工具。缓.

常见缓存策略设计

1567 6K
本文将介绍缓存方面的一些挑战、使用的典型解决方案以及使用命令查询职责分离 (CQRS) 作为更好策略的概念。缓存都是关于延迟的低延迟请求是标准的非功能性要求,尤其是对于电子商务应用程序,因为人们普遍认.

使用Redis实现微服务分布式锁

1748 1 6K
Redis 以其高性能和支持高读/写 QPS 的能力而闻名,这是作为分布式锁服务的后备存储非常理想的属性。此外,Redis 本身也支持 Lua 脚本。开源社区中有很多基于 Redis 的分布式锁的实现.

使用Debezium实现缓存实时刷新 - gunnarmorling

924 1

俗话说计算机科学只有两件难的事:缓存失效和命名。好吧,事实证明第一个实际上已经解决了。了解如何在靠近用户的分布式缓存中保持数据的读取视图,始终与您的主数据存储更改数据捕获保持同步。你将学到如何: * .

大规模实时流计算的系统设计 - Kashyap

1552 1 3K
使用 Spring、Pub/Sub、Dataflow、Redis、Reentrant Lock 模式和 guava 缓存构建实时视图计数服务以处理 20k tps 规模。​系统架构对于任何现场表演,观.

Redis老了吗?Redis与Dragonfly性能比较

4316 2 3K
最近一个新项目 Dragonfly 声称是最快的 Redis 兼容内存数据存储。Dragonfly 基准测试将独立的单进程 Redis 实例(只能利用单个内核)与多线程 Dragonfly 实例(可以.

使用 Nginx 缓存代理使您的后端更可靠

1105 3K

我们大多数人都熟悉 Nginx——它是一个非常流行的 Web 服务器和反向代理。但是您知道您也可以将它用作缓存代理吗?现在,您可能想知道为什么有人想做这样的事情——您不能更新您的服务以在 Redis .

Rust中的缓存

2310 8K

在这篇文章中,我将描述如何在 Rust 中实现缓存。它的灵感来自我最近在 nearcore 上进行的两个重构(nearcore#6549,nearcore#6811)。根据这个经验,似乎错误地实现缓存.

缓存失效本身是一个难题 - Marc

1308

Meta 的缓存失效方案论文涵盖了一些看起来很酷的可观察性和正确性工作。但我认为他们低估了从根本上使缓存变得困难的原因。为什么缓存是有趣的?它们提供更便宜、更快速或更可扩展的数据访问。它们通过定位、分.

缓存高一致性:Meta的缓存失效解决方案

1864 1

缓存有助于减少延迟、扩展读取繁重的工作负载并节省成本。它们实际上无处不在。缓存在您的手机和浏览器中运行。例如,CDN 和 DNS 本质上是地理复制缓存。多亏了许多在幕后工作的缓存,您现在可以阅读这篇博.

Lilliput:将Java对象头减为64位的里程碑版本发布

1072

在64位Hotspot中,Java对象有一个128位的对象头:一个64位的多用途头("标记 "或 "锁定")字和一个64位的类指针。(正常Java 堆中的对象头是96 位,使用 -XX:-UseCom.

迁移到JDK18为何写一个空的finalize()方法?

931 6K

现在JEP 421(Deprecate Finalization for Removal)已经在 J​​DK 18 中交付,似乎越来越多的人在谈论 finalization 以及如何迁移到替代方案,例.

通过调度和预取提高 Hadoop 性能

634

在本文中,我们继续研究如何提高Hadoop的性能,如何解决数据访问模式、集群内存和有效调度方面的数据定位问题。在Hadoop集群中,用户通常根据他们的业务需求来访问数据,这使得一些数据比其他数据更容易.

Java中hashcode和equals性能注意点 - Shai

1099 1 5K

几周前,我 在 reddit 上遇到了这个故事, 它讨论了在 Map 中使用 URL 类作为键的问题。这归结为java.net.URL中 hashcode() 方法的实现非常缓慢,这使得此类在这种情况.

DB面试问题:单条记录的大量查询 - Reddit

787

有一个表存储了所有用户的余额信息。而很大一部分select和更新查询都与一条记录有关(例如,公司账户余额/一个机构用户经常进行交易),因此这些查询需要一个接一个地执行。你能做些什么来提高这些查询的性能.

数据湖中加热数据?

961

数据湖:通过一个用于大数据分析的存储库来结束数据孤岛。想象一下,有一个单一的地方来存放您的所有数据以进行分析,以支持以产品为主导的增长和业务洞察力。可悲的是,数据湖的想法一度冷落,因为早期的尝试是建立.

Coherence Spring 3.1.0的发布

1057

Oracle Coherence团队很高兴地宣布Coherence Spring 3.1.0的发布。这个版本主要修复了一些问题,并包括一些小的依赖性更新。然而,我们确实包含了一个新的示例应用程序,向你.

Redis键不会自动过期 - Ably

1206 3K

Ably 是一个发布/订阅消息传递的平台。发布是在命名频道上进行的,订阅给定频道的客户端会将该频道上的所有消息传递给他们。我们使用Redis,一个用于基于密钥存储的分布式内存数据库,来存储各种实体,例.

Rust编写的Memcached缓存替代品:​​​​​​​memc.rs

1327

以 Rust 编程语言实现并使用 Tokio 运行时确保内存和线程安全;可以以最小的开销处理数千个请求。memc.rs与memcached二进制协议100% 兼容。无需重写您的代码。只需启动服务器并使.

Netflix 如何预热缓存?利用EBS移动PB级数据

937

EVCache是一种基于 memcached 的分布式内存缓存解决方案。它是 Netflix 的一个 Tier-0 系统,其足迹遍布约 18,000 台服务器,拥有约 14 PB 的数据,并且仍在快速.

Spring Cache与Ehcache 3集成

1686 4K

在本文中,我们将研究一些 Spring Cache 概念,然后集成 Ehcache 3。默认情况下,由于没有额外的提供者,Spring Cache 使用 JCache,它是Spring-Cache-S.

用于缓存的新HTTP标准:Cache-Status和Target-Cache-Control

1890 1 5K

互联网工程任务组 (IETF) 的 HTTP 工作组最近发布了两个新的 HTTP 标头草案标准,目标是调试缓存更容易,并提供对缓存配置的更多控制。两个拟议标准是: 缓存状态Cache-Status标头.

PostgreSQL、Redis与Memcached的性能比较 - CYBERTEC

2960 2 3K

测试设置的一些特征: AMD Ryzen 3600 CPU 设置为性能模式。我的测试脚本本质上是同步的,即基本上使用单个 CPU 内核,所以速度可能很重要。 Ubuntu 20.04 桌面作为操作系统.

Memcached与Redis在内存机制和集群等方面的比较 - Kablamo

1062 1 8K

Memcached 创建于 2003 年,在用 C 重写之前用 perl 编写。最初是为 livejournal 创建的,它成为 Web 2.0 时代的 goto 堆栈增强之一。Youtube、Red.

Shopify使用Memcached而不是Redis缓存提升20%性能

1474 1 3K

Shopify构建了一个自定义缓存解决方案,将数据库负载减少了 15%,整体应用延迟减少了大约 20%。 识别问题商店应用程序的主屏幕是最常用的功能,提供的主页提要Feed很复杂,因为除了处理来自数十.

Reddit广告系统使用Druid替代Redis架构

1225 1 3K

Reddit是全球最大的社交新闻站点,这是他们用Druid列数据库替代Redis的架构迁移:Reddit 的广告业务在过去几年取得了惊人的增长,并且不断发展以满足我们不断增长的广告客户群的需求。为广告.

tidwall/btree:B树路径提示可大幅度提升B-Tree搜索性能

841 2K

b树中的节点会记住搜索期间最近找到的索引,如果下一次搜索恰好是相同的值或非常接近的值,则二分搜索会更快。这仅在时间相关的搜索往往具有附近的键值的情况下有帮助,但这可能非常常见。点击标题,这是一个B 树.

Redis用于分布式缓存全局硬刷新的心得

1080 2K

我们依赖缓存,因为应用程序需要大量读取。但是会有修改写发生,如果您在世界各地运行缓存,它们最终可能会偏离其真实数据来源。糟糕的缓存数据真的会激怒人们。它可以完全破坏应用程序,这就是为什么需要一个“硬刷.