青云博客 记录、分享

Redis有哪些常用应用场景?

Redis十大核心应用场景深度剖析 一、高性能缓存系统 页面缓存: 缓存HTML片段/API响应(TTL控制失效) 典型命令:SETEX product:123 3600 "{json}" 热点数据加速: 数据库查询结果缓存(如用户信息) 避免缓存穿透方案:布隆过滤器+空值缓存 二、会话存储(

zhanxuewei zhanxuewei Published on 2024-04-23

Redis的持久化机制

Redis持久化机制深度解析 一、持久化核心方案 1. RDB(Redis Database) 工作原理‌: 定时生成内存快照(二进制压缩文件) 通过SAVE(阻塞)或BGSAVE(后台)命令触发 配置示例:save 900 1(900秒内至少1次修改时触发) 特点‌: ✅ 文件紧凑(适合备份/灾难

zhanxuewei zhanxuewei Published on 2024-04-23

为什么Redis 单线程模型效率也能那么高

尽管Redis采用了单线程模型,但其效率仍然非常高。以下是一些原因: 非阻塞IO:Redis使用了事件驱动的非阻塞IO机制。它通过事件循环处理来自客户端的请求,在等待数据IO时并不会阻塞主线程,而是继续处理其他请求。这种机制允许Redis以高效地方式处理大量的并发连接。 内存操作:Redis主要将数

zhanxuewei zhanxuewei Published on 2024-04-23

Redis是单线程还是多线程

Redis 采用的是单线程模型。通常说得单线程,主要指的是 Redis 对外提供的键值存储服务的主要流程是单线程的,即网络 I/O 和数据读写是由单个线程来完成的。这样设计可以避免多线程之间的竞争条件和锁开销,提高了访问共享数据的效率。 然而,除了对外提供的键值存储服务,Redis 在某些功能上会使

zhanxuewei zhanxuewei Published on 2024-04-23

说说 Redis 的数据类型

Redis支持五种主要的数据类型: String:String是最常用的数据类型,在Redis中以二进制安全的方式存储字符串值。它可以包含任何类型的数据,比如文本、整数或二进制数据。 Hash:Hash是一个键值对的集合,其中每个键都与一个值相关联。在Redis中,Hash可以用于存储和操作对象,每

zhanxuewei zhanxuewei Published on 2024-04-23

Redis为什么这么快

Redis之所以快速的原因主要包括以下几点: 内存存储:Redis将数据存储在内存中,实现了快速的读写操作。 单线程模型:Redis采用单线程处理请求,避免了多线程的竞争和上下文切换开销。 高效的数据结构:Redis内部使用了高效的数据结构,如哈希表、跳跃表等,提供了快速的数据访问和操作。 异步IO

zhanxuewei zhanxuewei Published on 2024-04-23

一个redis实例最多能存放多少keys

Redis 的每个实例最多可以存放约 2^32 - 1 个keys,即大约 42 亿个keys。这是由 Redis 内部使用的哈希表实现决定的,它使用 32 位有符号整数作为索引。Redis 使用的哈希函数和负载因子等因素也会影响实际可存放键的数量。 需要注意的是,尽管 Redis 允许存储数量庞大

zhanxuewei zhanxuewei Published on 2024-04-23

说说你对Redis的理解

Redis是一个基于Key-Value存储结构的开源内存数据库,也是一种NoSQL数据库。 它支持多种数据类型,包括String、Map、Set、ZSet和List,以满足不同应用场景的需求。 Redis以内存存储和优化的数据结构为基础,提供了快速的读写性能和高效的数据访问。常被用作应用与数据库之间

zhanxuewei zhanxuewei Published on 2024-04-23

Not In 不仅仅会导致索引失效,还会?

通常提到 not in,大家脑海里第一个飘过的想法是什么? 是不是可能会导致索引失效。因为大部分小伙伴在通关八股文的时候是这么背的。 至于为什么 not in 会导致索引失效,可能有些小伙伴知其然不知其所以然,所以我再文章的结尾给大家准备好了完整的笔记,有兴趣的小伙伴可以评论区 666,然后私信获取

詹学伟 Published on 2024-04-22

MySQL表设计经验汇总篇

表设计是每一个后端程序员都无法避开的一块砖,而且这块砖一不小心就很容易烫手,本篇笔记就是为了帮助大家在设计表时能够轻松拿捏。 1.命名规范 数据库表名、字段名、索引名等都需要命名规范。命名可读性要高,尽量使用英文,采用驼峰或者下划线分割的方式,让人见名知意。 反例:这些命名过于简单,缺乏描述性,很难

詹学伟 Published on 2024-04-22
Previous Next