
缓存技术
文章平均质量分 85
讲解关于缓存的技术
Hello.Reader
so far away
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
redis-py 在 Python 中连接与使用 Redis
Redis 是一个开源的高性能键值数据库,redis-py 则是官方推荐的 Python 客户端。本指南介绍如何安装 redis-py、连接到 Redis 服务器、执行常见读写操作,以及获取更多进阶使用资源。原创 2025-05-28 10:58:56 · 519 阅读 · 0 评论 -
Redis C语言连接教程
在现代 C 应用中,Redis 常被用作高性能的内存型键值存储。**hiredis** 是官方提供的 C 语言客户端库,拥有简洁的同步 API,便于嵌入各种项目。本文将从源码编译、安装、建立连接、发送命令、处理回复,到使用管道、事务及与事件驱动框架集成,带你快速上手 hiredis。原创 2025-05-27 13:39:16 · 570 阅读 · 0 评论 -
Go 应用中的 Redis 连接与操作
在现代 Go 应用中,Redis 已成为最流行的内存型 KV 存储之一。通过 go-redis 客户端,你可以在几行代码内完成与 Redis 的高效交互。本文将带你快速上手 go-redis,从安装、连接、简单读写,到结构体扫描、OpenTelemetry 监控,以及生产环境最佳实践,让你的 Go 服务对 Redis 的使用既健壮又可观测。原创 2025-05-27 11:54:02 · 1055 阅读 · 0 评论 -
使用 Redis 作为向量数据库
在现代应用中,我们常常需要处理大量的非结构化数据,如文本、图像、音频和视频。将这些数据存储并检索的传统方式(基于关键字或正则表达式)往往难以捕捉语义信息,而向量数据库(Vector Database)通过“语义向量”表示和检索这类数据,为各类智能应用提供了更丰富的检索能力。本文将基于 Redis 向量数据库(Redis Vector Search,简称 RedisVS 或 RedisVL)快速入门指南,带你从零开始了解并实操 Redis 作为向量数据库的全过程。原创 2025-05-27 11:23:35 · 931 阅读 · 0 评论 -
Redis热点数据管理全解析:从MySQL同步到高效缓存的完整解决方案
在现代互联网应用中,MySQL作为关系型数据库,承担了大量业务数据的存储任务。然而,随着业务的增长,海量数据的查询性能成为一个瓶颈。为了应对高并发和低延迟的需求,Redis作为缓存系统,与MySQL协同工作,在提升性能和减轻数据库压力方面发挥了重要作用。内存成本高:Redis是基于内存的存储,全部加载需要大量内存。数据访问规律:大部分应用的数据访问呈现出“二八定律”,即80%的请求集中在20%的热点数据。因此,只将MySQL中的热点数据存储到Redis,既能满足高性能需求,又能有效降低内存开销。原创 2024-12-24 12:51:53 · 1791 阅读 · 0 评论 -
Redis大Key问题全解析
Redis大Key是指单个Key对应的数据量过大,占用过多的内存或导致操作耗时较长的现象。String类型:单个字符串的长度过大。List类型:包含大量元素的列表。Hash类型:存储大量字段的哈希表。Set或ZSet类型:存储大量成员的集合或有序集合。大Key并不直接导致系统问题,但其潜在影响和风险非常显著,尤其在生产环境中。编写脚本遍历Redis中的Key,并分析每个Key的大小和类型。原创 2024-12-24 11:32:34 · 1810 阅读 · 0 评论 -
大批量URL去重的架构设计(redis-bitmap+redisson)
采用MurmurHash3哈希算法将URL映射为哈希值,再利用Redis位图存储这些哈希值对应的位状态,以实现高效的去重操作。Redis位图的优势在于其内存效率高、位操作速度快,适合大规模数据的去重需求。MurmurHash3 与 Redis 位图结合提供了一种高效、内存节省的数据去重方案。适用于大规模数据处理和高并发场景。关键优势高性能、低内存消耗、易于实现和扩展。应用场景URL去重、日志去重、用户行为分析、实时数据统计等。原创 2024-12-19 16:20:30 · 1001 阅读 · 0 评论 -
Redis位图与Redisson实战指南
在当今大数据和高性能计算的时代,数据存储与处理的效率成为了系统设计中的关键因素。Redis,作为一个高性能的内存数据库,以其卓越的速度和丰富的数据结构在业界广受欢迎。而Redisson,作为Redis的Java客户端,更是在简化Redis操作、提升开发效率方面发挥了重要作用。本篇博客将深入探讨Redis中位图(Bitmap)的应用,特别是结合Redisson进行位图操作的优势与实践。Redis(Remote Dictionary Server)是一种开源的高性能键值存储数据库,支持多种数据结构如字符串、哈希原创 2024-12-18 15:41:39 · 1389 阅读 · 0 评论 -
深入解析 Redis
例如,将用户的所有信息(如地址、昵称、订单等)都存储在一个大型哈希表中,当查询某些小部分数据时,Redis 需要载入整个哈希表并遍历其中的数据,导致不必要的内存读取和 CPU 计算。特别是对于高并发环境,键设计不当或者不合理的数据过期策略会导致大量的内存占用、频繁的垃圾回收、缓存穿透等问题,从而影响 Redis 的整体性能。在 Redis 中,数据是存储在内存中的,因此内存的管理直接影响到 Redis 的性能。Redis 在处理数据时,对于小对象的频繁写入会产生较大的性能开销,尤其是在高并发场景下。原创 2024-12-07 21:57:05 · 1184 阅读 · 0 评论 -
利用 Redis 与 Lua 脚本解决秒杀系统中的高并发与库存超卖问题
在电商平台上,秒杀活动是吸引用户参与并提升销量的一种常见方式。秒杀通常会以极低的价格限量出售某些商品,目的是制造紧迫感,吸引大量用户参与。然而,这种活动的特殊性也带来了许多技术挑战,尤其是在面对高并发流量时,如何确保库存数量的准确性是一个核心问题。库存超卖是秒杀系统中最常见的错误之一。秒杀过程中,用户会争先恐后地提交订单,系统必须在极短的时间内完成大量的请求处理。如果在并发操作中没有做好适当的同步控制,可能会出现多个用户同时抢到相同商品的情况,即库存数量被“超卖”。原创 2024-12-02 09:55:40 · 1729 阅读 · 0 评论 -
Guava Cache 原理与实现剖析
Guava 是由 Google 开发并维护的一个功能强大的开源 Java 工具库,旨在扩展和增强 Java 标准库的功能。最初是为 Google 内部项目开发的,但因其高效和易用性,很快在 Java 社区中流行开来。Guava 提供了多种功能和工具,帮助开发者简化代码,减少重复劳动,并提高程序的可读性和可维护性。其模块化设计使得开发者可以选择性地使用需要的功能而无需引入整个库。Guava 作为一款功能丰富的 Java 工具库,自推出以来,一直在简化和优化 Java 开发方面扮演着重要角色。原创 2024-11-03 09:00:00 · 1191 阅读 · 0 评论 -
核心概念解析Caffeine 缓存模型与策略
Caffeine 是一个高性能的 Java 缓存库,专为提高内存缓存的效率和灵活性而设计。它由 Google 的 Guava Cache 项目启发,并提供了更高的性能和更丰富的功能集。Caffeine 以其卓越的缓存命中率和内存管理能力而广受欢迎,特别适合需要对缓存进行精细控制的场景。Caffeine 使用现代化的数据结构和算法,如基于期望退化最小化的 Window TinyLFU(Windowed Tiny Least Frequently Used)策略,从而在维护高命中率的同时减少缓存污染。原创 2024-11-02 21:00:20 · 1540 阅读 · 0 评论 -
深入解析 Memcached原理、架构与最佳实践
本文全面解析了 Memcached 的技术原理、架构设计以及在分布式系统中的应用。从缓存的必要性出发,我们了解了 Memcached 如何通过高效的键值对存储、灵活的内存管理和高并发的线程模型,显著提升系统性能,减轻后端数据库的压力。在实践中,合理地使用 Memcached,需要关注数据一致性、缓存策略、安全性以及性能调优等方面。通过与其他缓存系统的比较,如 Redis,我们可以更好地根据具体的业务需求,选择最适合的缓存解决方案。展望未来,Memcached 将继续在高速缓存领域发挥重要作用。原创 2024-10-31 09:00:00 · 1510 阅读 · 0 评论 -
使用 Redis 的 HyperLogLog 和 Bitmap 进行高效去重
在大规模数据处理中,去重操作是一个常见且重要的任务。Redis 作为一种高效的内存数据库,提供了多种数据结构来处理去重操作,其中最常用的就是 HyperLogLog 和 Bitmap。本文将详细介绍这两种工具的工作原理、使用场景,并通过 Java 代码示例展示它们的实际应用。原创 2024-08-28 09:30:00 · 1300 阅读 · 0 评论 -
Redis与CAP定理—理解数据存储的权衡
在分布式系统的设计中,理解CAP定理的重要性是不言而喻的。CAP定理指出,一个分布式系统不可能同时完全满足一致性(Consistency)、可用性(Availability)和分区容忍性(Partition Tolerance)。Redis作为一个广泛使用的键值存储系统,其在这三个方面的权衡尤其值得关注。本文将深入分析Redis如何应对这些挑战,并通过实际案例来说明这些权衡。Redis提供了多种配置选项,使得用户可以根据自己的具体需求在CAP三要素之间做出适当的权衡。原创 2024-08-20 14:24:35 · 1325 阅读 · 0 评论 -
Redis缓存预热,该如何实现
缓存预热是一种在程序启动或缓存失效之后,主动将热点数据加载到缓存中的策略。这样,在实际请求到达程序时,热点数据已经存在于缓存中,从而减少了缓存穿透和缓存击穿的情况,也缓解了SQL服务器的压力。原创 2024-03-19 09:32:55 · 3759 阅读 · 2 评论 -
RediSearch比Es搜索还快的搜索引擎
RediSearch是一个Redis模块,为Redis提供查询、二次索引和全文搜索。要使用RediSearch,首先要在Redis数据上声明索引。然后可以使用重新搜索查询语言来查询该数据。RedSearch使用压缩的反向索引进行快速索引,占用内存少。RedSearch索引通过提供精确的短语匹配、模糊搜索和数字过滤等功能增强了。原创 2024-03-18 10:59:00 · 3004 阅读 · 0 评论 -
高性能短URL服务实现
大家应该在工作或者生活过程中也经常遇到段url,那他的好处是什么呢?为什么使用短url?原创 2024-01-23 13:53:38 · 1229 阅读 · 0 评论 -
RedisAI使用golang版(二)
RedisAI是一个在Redis上运行的AI推理引擎,可以使用RedisAI在内存中快速地进行深度学习模型的推理和预测。RedisAI提供了多种接口,包括Python和C API以及命令行工具等,但本文将主要介绍如何使用Golang语言接口来使用RedisAI。原创 2023-02-27 08:52:36 · 6884 阅读 · 0 评论 -
RedisAI编译安装(一)
1.概述RedisAI 是一个 Redis 模块,用于执行深度学习/机器学习模型并管理其数据。它的目的是成为模型服务的“主力”,通过为流行的 DL/ML 框架和无与伦比的性能提供开箱即用的支持。RedisAI 遵循数据局部性原则,最大限度地提高计算吞吐量并减少延迟,并利用 Redis 经生产验证的基础设施简化图的部署和服务。2.安装RedisAI 是Redis 模块。运行它需要安装redis6.0或者以上版本缓存数据库、模块的共享库及其依赖项。系统环境条件下载安装:git、python3、mak原创 2023-02-27 08:09:41 · 5591 阅读 · 0 评论 -
redis集群环境搭建(三)
1.概述Redis 集群是一个提供在多个Redis间节点间共享数据的程序集。Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下可能会导致不可预料的错误。Redis 集群通过分区来提供一定程度的可用性,在实际环境中当某个节点宕机或者不可达的情况下继续处理命令。Redis 集群的优势:自动分割数据到不同的节点上。整个集群的部分节点失败或者不可达的情况下能够继续处理命令。2.获取资源及上传首先通过命令获取redis安装包原创 2022-04-02 10:21:56 · 1665 阅读 · 0 评论 -
RediSearch编译安装(一)
1.概述Redisearch 在 Redis 之上实现了二级索引,但与其他 Redis 索引库不同,它不使用排序集等内部数据结构。这还支持更高级的功能,例如多字段查询、聚合和全文搜索功能。这些功能包括精确的短语匹配和文本查询的数字过滤,这是传统 Redis 索引方法不可能或有效的。2.安装2.1使用 Docker 运行docker run -p 6379:6379 redislabs/redisearch:latest #此处可以自己配置启动映射目录,这个方式非常简单这里不过多描述了2.2下载原创 2022-03-18 15:05:18 · 8353 阅读 · 25 评论 -
RedisJson编译安装(一)
下载RedisJson源码通过https://github.com/RedisJSON/RedisJSON/archive/refs/tags/v2.0.6.zip下载RedisJson源代码,下载后进行解压。linux:解压zip文件unzip RedisJSON-2.0.6.zip解压gz文件tar --zcvf RedisJSON-2.0.6.tar.gzwindowswin你可以直接使用解压软件进行解压:7-Zip等。安装 cargo其实打开解压好的压缩包,你会发现,Redi原创 2022-03-11 11:21:24 · 6365 阅读 · 0 评论