Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
缓存教程
分布式缓存综合指南
一个重要的网站需要一个网络服务器来接收请求和一个数据库来写入或读取数据。但是,如果每秒收到数百万个请求,这种简单的设置只有在优化数据库或更改整体数据库策略后才能扩展。那是对的吗?数据库最终达到了活动连接数的限制,并且难以管理并发请求。
SIEVE:比LRU更快更简单的新缓存算法
新的名为SIEVE的缓存淘汰算法,简单而高效。点击标题 SIEVE使用一个队列和一个指针来确定缓存中的哪些数据保留,哪些数据丢弃。它通过访问位来追踪数据的访问状态,并根据访问情况进行淘汰。 SIEVE在效
Java中六种初始化静态Map方法
在 Java 中,初始化静态映射可以创建与类而不是类实例关联的映射对象。这允许该映射在该类的所有实例之间共享并在不创建对象的情况下进行访问。当存储需要在类的多个实例之间共享的数据或维护在整个应用程序中可访问的全局映射时,静态映射特别有用。 方法 1:静态初
Otter:基于 S3-FIFO 算法的最快 Go 内存缓存
没有一个 Golang 缓存库是真正无争用的。所有缓存库都带有互斥锁和一些删除策略的标准映射Map。这样,这些Go缓存库就无法达到其他语言(例如Caffe
rockscache:保证与DB最终或强一致性的Redis缓存库
随着缓存的引入,分布式系统中的一致性问题出现了,因为数据同时存储在两个地方:数据库和Redis。 到目前为止,我们看到的所有缓存解决方案,如果没有在应用程序级别引入版本控制,都无法解决数据不一致场景。目前还没有成熟的解决方案来保证最终一致性
16 个系统设计面试的概念
要在系统设计方面表现出色,最关键的方面之一是深入了解基本的系统设计概念,例如负载平衡、缓存、分区、复制、数据库和代理。 1. 域名系统 (DNS)当您在 Web 浏览器中输入域名时,DNS 负责查找关联的 IP 地
Redis五个使用场景
以下是 5 个Redis使用案例: 1.缓存最常见的用例是利用 Redis 进行缓存。这有助于保护数据库层不超载。Redis 可为缓存数据提供快速查找时间,有助于提高应用程序性能。 2.会话存储使
浅谈Linux页面缓存
Linux 页面缓存(Page Cache)对于每个SRE来说都是必不可少和至关重要的。对页面缓存理解可以帮助完成日常的 DevOps 类任务以及紧急调试和救火。 什么是Linux 页面缓存?从本质上讲,页
使用NGINX+ mirror实现API缓存更新
假设我们有一个 URI /profile/syshero。 如果向 /profile/syshero 发送 GET,应用程序就会向客户端提供输出结果。 如果向 /profile/syshero 发送 PUT/POST/DELETE,应用程序将执行写操作并更改内容 </
DoorDash 如何改进微服务缓存?
随着 DoorDash 的微服务架构不断发展,服务间流量也在不断增长。每个团队管理自己的数据并通过 gRPC 服务公开访问权限,gRPC 服务是一个用于构建可扩展 API 的开源远程过程调用框架。 由于对下游服务的调用,大多数业务逻辑都是 I/O
Go-memoize:缓存函数调用结果的开源工具
这是一个简单、简洁的 Go 记忆器。缓存昂贵的函数调用。Go-memoize 已经投入生产几年了。 在内存中缓存昂贵的函数调用,并具有可配置的超时和清除间隔:
缓存Caffeine与Sieve比较
Caffeine缓存作者: 背景信息Caffeine 使用自适应窗口技术,因此不会完全影响您的观察结果。论文建议将 1%的窗口作为起点,因为这在数据库、搜索和分析等许多关键工作负载中都很有效。论文最后指出,
Java中如何使用lambda实现懒加载?
当我们使用需要执行昂贵或缓慢方法的资源(例如数据库查询或 REST 调用)时,我们倾向于使用本地缓存或私有字段。 lambda 函数允许我们使用方法作为参数并推迟方法的执行或完全省略它。 在本教程中,我们将展示如
动态编程DP:生成连续“XYZ”子字符串的最小插入量
给定字符串S仅由字符 ' X'、' Y'和'Z'组成。您的任务是找到使字符串仅包含连续的“ XYZ ”子字符串所需
缓存如何满足每日 12 亿个API请求?
在 RevenueCat,我们每天处理超过 12 亿个请求。只有在以下情况下您才能有效地做到这一点: 您可以在许多 Web 服务器之间分配负载。 您可以使用缓存来加速对热数据的访问并保护后端系统和数据存储的容量。
为何SIEVE缓存没有被早点发现?
缓存对于从 CPU 到存储再到整个分布式架构的每一层系统的性能都至关重要。缓存如此重要意味着设计人员需要仔细考虑缓存清空时会发生什么,但他们并不总是做得很好 SIEVE 是一种逐出算法,是一种在需要放入新项时决定丢弃哪些缓存项的方法。
Robinson:Go中单值线程安全缓存
“Robinson”包是一个轻量级且高效的 Go 库,它提供了一个线程安全的缓存实现,用于存储和检索任何类型的值。它提供了一种简单且简约的缓存方法,利用 Go 泛型的强大功能来确保强大的类型和最佳性能。 主要特征: 线程安全缓存:R
Spring Boot中如何缓存数据库查询结果
缓存是一种技术,可以存储不经常变化的频繁查询数据,并减少请求的延迟。我们可以在软件应用程序的不同层使用这种技术。 在本文中,讨论在 Spring Boot 中使用 ConcurrentHash 和 Redis 缓存数据库结果
上页
下页