Redis
文章平均质量分 93
Redis
一枚码仔
Talk is cheap. Show me the code.
展开
-
如何对40亿QQ号进行去重?
首先来看看如果要存储40亿QQ号需要多少内存?我们使用无符号整数存储,一个整数需要4个字节,那么40亿需要4*4000000000/1024/1024/1024≈15G,在业务中我们往往需要更多的空间。而且在Java中并不存在无符号整形,只有几个操作无符号的静态方法。这种存储很显然是不太优雅的,对于这种大数据量的去重,我们可以使用位图Bitmap。原创 2024-08-27 17:51:35 · 622 阅读 · 0 评论 -
Redis的过期策略与内存淘汰机制详解
Redis的过期策略和内存淘汰机制是确保系统稳定运行和高效利用内存的重要手段。通过合理选择过期策略和内存淘汰策略,可以在不同场景下达到最优的性能和资源利用效果。在实际应用中,建议根据具体业务需求和系统环境来选择合适的策略,以最大化Redis的性能和稳定性。原创 2024-08-08 14:32:25 · 1156 阅读 · 0 评论 -
Redisson 实现分布式锁
对于大多数的场景而言,使用 Redisson 的普通锁就可以了,如果项目对分布式锁的安全性要求很高,推荐使用基于 Raft 或 Paxos 算法的 etcd 或 ZooKeeper,他们在设计时充分考虑了分布式环境下的一致性和可靠性问题,提供了比 RedLock 更为健壮的解决方案。我们可以将一个长时间执行的任务拆分为多个独立的较短的小任务,每个步骤都有自己独立的分布式锁,这样就可以减少锁定资源的时间,同时确保每个阶段都能在适当的时间内完成。公平锁与 JUC 中的公平锁一致,遵循先到先得的原则。原创 2024-08-06 15:01:23 · 815 阅读 · 0 评论 -
浅谈Redis集群架构与主从架构
我们要看业务选择不同的Redis方案,当然,Redis集群还可以搭配Redis主从一起使用,我们可以在某一个集群节点上配置一套主从模型。Redis 集群将数据自动分片到多个 Redis 节点,Redis 集群还在分区期间提供一定程度的可用性,当某些节点发生故障或无法通信时,Redis集群能够继续运行。Redis集群的主从模型选举主节点和Redis哨兵选举出主节点非常相似,但大家不要搞混了,Redis集群中并没有哨兵的概念。Redis主从对数据的完整性更看重,Redis主从节点都保存了完整的一套数据库状态。原创 2024-08-03 16:00:33 · 1030 阅读 · 0 评论 -
Redis基础:数据类型
在当今大数据和实时计算的时代,Redis作为一种高性能的键值存储数据库,已经成为许多开发者和企业的首选。其丰富的数据类型和灵活的操作方式,使得Redis不仅仅局限于简单的缓存功能,而是可以用于构建多种复杂的应用场景。Redis支持多种数据结构,包括字符串、哈希、列表、集合、有序集合等,每种数据类型都具有独特的特性和应用场景。本文将对Redis的各种数据类型进行深入探讨。原创 2024-08-02 11:04:06 · 439 阅读 · 0 评论 -
Redis实现分布式锁
日常开发中,秒杀下单、抢红包等业务场景,都需要使用分布式事务、分布式锁等技术来保证数据最终一致性。有时我们需要保证某一方法同一时刻只能被一个线程执行,这时就需要用到分布式锁。在单机(单进程)环境中,JAVA提供了很多并发相关API,但在多机(多进程)环境中就无能为力了。而Redis非常适合作为分布式锁使用。分布式锁其实就是,控制分布式系统不同进程共同访问共享资源的一种锁的实现。如果不同的系统或同一个系统的不同主机之间共享了某个临界资源,往往需要互斥来防止彼此干扰,以保证一致性。原创 2024-07-31 14:04:54 · 2370 阅读 · 0 评论 -
Redis 常见面试题总结
Redis(Remote Dictionary Server) 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API 的非关系型数据库。传统数据库遵循 ACID 规则。而 Nosql(非关系型数据库) 一般为分布式而分布式一般遵循 CAP 定理。原创 2024-07-31 14:04:15 · 304 阅读 · 0 评论 -
什么是缓存雪崩、缓存击穿、缓存穿透?如何解决
Redis作为目前使用最广泛的缓存,相信大家都不陌生。但是使用缓存并没有这么简单,还要考虑缓存雪崩,缓存击穿,缓存穿透的问题,什么是缓存雪崩,击穿,穿透呢,又怎么解决这些问题呢。当某一个时刻出现大规模的缓存失效的情况,那么就会导致大量的请求直接打在数据库上面,导致数据库压力巨大,如果在高并发的情况下,可能瞬间就会导致数据库宕机。这时候如果运维马上又重启数据库,马上又会有新的流量把数据库打死。这就是缓存雪崩。原创 2024-07-31 14:02:22 · 283 阅读 · 0 评论 -
使用Redis缓存踩过的坑
缓存在日常工作中经常会使用,但如果用不好坑也挺多的,文章总结了使用缓存遇到的坑。原创 2024-07-30 14:06:25 · 601 阅读 · 0 评论 -
深入SpringBoot:Redis缓存的集成与实现
SpringBoot整合Redis缓存一、缓存概念知识1、是什么缓存2、缓存的优缺点3、为什么使用缓存二、Redis概念知识1、Redis简介2、为什么用Redis作为缓存3、Redis 支持的数据类型4、Redis缓存常见问题1. 缓存穿透2. 缓存击穿3. 缓存雪崩4. 缓存一致性三、SpringBoot整合redis1、使用redis缓存1. 引入redis依赖2. 修改项目启动类3. 配置redis数据库4. 创建redis配置类5. 操作redis2、使用 SpringCache 的注解1. 注解原创 2022-02-16 20:10:30 · 12978 阅读 · 13 评论