Redis
文章平均质量分 86
老程不秃
这个作者很懒,什么都没留下…
展开
-
【无标题】
1.分布式锁分布式锁超时问题可重入性2.延时队列异步消息队列?队列空了怎么办?队列延迟空闲连接自动断开锁冲突处理延时队列的实现进一步优化3.位图基本使用统计和查找魔术指令 bitfield使用方法pfadd 这个 pf 是什么意思?pfmerge 适合什么场合用?注意事项HyperLogLog 实现原理pf 的内存占用为什么是 12k?5.布隆过滤器布隆过滤器是什么?Redis 中的布隆过滤器布隆过滤器的基本使用注意事项布隆过滤器的原理空间占用估计。原创 2023-07-12 16:21:02 · 55 阅读 · 0 评论 -
Redisson延迟队列执行流程源码分析一下
在实际分布式项目中延迟任务一般不会使用JDK自带的延迟队列,因为它是基于JVM内存存储,没有持久化操作,所以当服务重启后就会丢失任务。 在项目中可以使用MQ死信队列或redisson延迟队列进行处理延迟任务,本篇文章将讲述redisson延迟队列的使用demo和其执行源码。demo示例通过脚手架创建一个简易springboot项目,引入redisson的maven依赖,并简单配置redisson连接属性。 <!-- redisson引用 --> <dependen原创 2022-01-19 13:16:52 · 3292 阅读 · 0 评论 -
直接被GitHub置顶:Redis核心实践全彩手册,基础应用-源码yyds
面过大厂资深技术岗的人都知道,Redis 基本上是必考点。比如: · Redis 常见的性能问题有哪些?该如何解决?——性能相关 · Redis 缓存的雪崩、击穿、穿透到底是什么意思?如何应对?——缓存相关 · Redis 主从集群常见的问题有哪些?该如何解决?——可用性相关 · 现有 Redis 实例,保存数量 6GB,未来预计会扩展到 32GB,请你提供一个解决方案,并分析它优点和潜在问题?——可扩展性相关 毕竟 10 家公司,起码有 8 家的架构体系里有Redi原创 2022-01-15 22:13:24 · 1065 阅读 · 0 评论 -
Redis系列之主从复制
主从复制基本介绍Redis支持主从复制功能,可以通过执行slaveof(Redis5版本以后改成replicaof)或者在配置文件中设置slaveof(Redis5版本以后改成replicaof)来开启复制功能。一主两丛一主多从主从基本配置主Redis配置主Redis配置基本不用修改,重点部分在从Redis配置从Redis配置1、复制一份redis.conf文件2、相关配置修改# salve的端口号port 6380 #把pid进程原创 2021-12-24 15:22:11 · 1095 阅读 · 0 评论 -
Redis系列之Redis持久化机制
Redis持久化机制为什么要持久化如果Redis再次访问时,发现Redis的数据是空的,就会形成缓存穿透。更重要的是,因为Redis的数据是空的,所以客户端想要访问的key都没有,就会造成大量的请求就会瞬间打到数据库上,造成缓存雪崩(少量的key是穿透,大量的key是雪崩)。这个时候,数据库可能就挂掉。而又无法保证redis不宕机,所以需要当redis宕机后,迅速将里里面的内容恢复出来。因此需要做一个持久化。持久化是为了恢复数据用的,而不是存储数据用的RDBRDB(Redis DataBas原创 2021-12-23 13:16:00 · 1663 阅读 · 0 评论 -
Redis系列之缓存原理&设计
Redis系列之缓存原理&设计缓存基本思想缓存的使用场景DB缓存,减轻服务器压力一般情况下数据存在数据库中,应用程序直接操作数据库。当应用程序访问量上万,数据库压力突然增大,如果需要减轻数据库服务器的压力,有以下方法: 数据库读写分离 数据库分库分表 使用缓存,并实现换粗你的读写分离 缓存的作用:将应用程序已经访问过的内容或数据存储起来,当应用程序再次访问时先找缓存,缓存命中返回数据。不命中再查询数据库,并保存到缓存。 提高系统响应数据库的数原创 2021-12-22 15:26:06 · 196 阅读 · 0 评论 -
Redis不常用操作指南(基于SpringBoot2.3.2代码实现)
1 前言通常程序员在学习Redis的安装到使用是非常快速的,因为Redis的大部分操作都等同于Map的操作逻辑,只要了解大部分api结合百度能够快速的投入到CRUD的工作中去,所以今天来一期Redis不常用操作指南,当然这里的不常用更多是不会天天用,但是在项目中还是会有应用到的地方。2 安装Redis安装及原生命令3 SpringBoot2整合Redis(有现成环境的可以略过)3.1 相关依赖<!-- 单元测试 --><dependency> ..原创 2021-12-20 20:39:32 · 1101 阅读 · 0 评论 -
用 Go + Redis 实现分布式锁
为什么需要分布式锁 用户下单 锁住 uid,防止重复下单。 库存扣减 锁住库存,防止超卖。 余额扣减 锁住账户,防止并发操作。分布式系统中共享同一个资源时往往需要分布式锁来保证变更资源一致性。分布式锁需要具备特性 排他性 锁的基本特性,并且只能被第一个持有者持有。 防死锁 高并发场景下临界资源一旦发生死锁非常难以排查,通常可以通过设置超时时间到期自动释放锁来规避。 可重入 锁持有者支持可重入,防止锁持有者再次重入时锁被超时释放。 高性能高原创 2021-12-15 22:15:05 · 198 阅读 · 0 评论 -
Redis 延时任务,高手养成篇
在开发中,往往会遇到一些关于延时任务的需求。例如生成订单30分钟未支付,则自动取消生成订单60秒后,给用户发短信对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下几点区别定时任务有明确的触发时间,延时任务没有定时任务有执行周期,而延时任务在某事件触发后一段时间内执行,没有执行周期定时任务一般执行的是批处理操作是多个任务,而延时任务一般是单个任务下面,我们以判断订单是否超时为例,进行方案分析方案分析原创 2021-12-07 14:00:36 · 128 阅读 · 0 评论 -
硬货分享~ Redis6高并发必备核心技术
哈喽大家好~这里是不秃头这是我的第一篇文章,想来想去还是写一下Redis。为什么要写Redis呢?因为在未来或更长的时间互联网的分布式应用必定会成为主流,互联网企业对微服务应用的高可用、高性能也有很高的要求。在这样的情况下,非关系型数据库起到举足轻重的作用,Redis作为非关系数据库的一种,Redis因具备优良的性能,在企业中广泛应用。像是在我们公司,如果有大量的用户访问,就会对数据库造成严重的负荷,严重的话还会让数据库宕机。所以需要一个非关系性数据库用来存储用户的缓存,所以选择了Red原创 2021-11-26 20:14:10 · 158 阅读 · 0 评论