Redis
文章平均质量分 90
ぃ小男孩つ
这个作者很懒,什么都没留下…
展开
-
【Redis学习13】Redis搭建主从集群、哨兵集群、分片集群
文章目录Redis集群1.单机安装Redis2.Redis主从集群2.1.集群结构2.2.准备实例和配置2.3.启动2.4.开启主从关系2.5.测试3.搭建哨兵集群3.1.集群结构3.2.准备实例和配置3.3.启动3.4.测试4.搭建分片集群4.1.集群结构4.2.准备实例和配置4.3.启动4.4.创建集群4.5.测试Redis集群本章是基于CentOS7下的Redis集群教程,包括:单机安装RedisRedis主从Redis分片集群1.单机安装Redis首先需要安装Redis所需要的依赖原创 2022-05-28 17:02:40 · 644 阅读 · 2 评论 -
【Redis学习12】分布式缓存之哨兵机制,分片集群
文章目录1. Redis哨兵1.1 哨兵原理1.1.1 集群结构和作用1.1.2 监控集群原理1.1.3 集群故障恢复原理1.1.4 哨兵原理小结1.2 搭建哨兵集群1.3 RedisTemplate1.3.1 导入依赖1.3.2 修改配置文件1.3.3 配置读写分离2. Redis分片集群2.1 搭建分片集群2.2 散列插槽2.2.1 插槽原理2.2.2 小结2.3 集群伸缩2.3.1 需求分析2.3.2 创建新的redis实例2.3.3 添加新节点到redis2.4 故障转移2.4.1 自动故障转移2.原创 2022-05-27 19:27:32 · 495 阅读 · 0 评论 -
【Redis学习11】分布式缓存之数据持久化,主从集群
引言我们来看一下单点的Redis可能存在哪些问题,下面这张图给出了存在的问题及其解决的方案接下来,我们分别去介绍解决这些问题的具体办法1. Redis数据持久化1.1 RDB持久化RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。快照文件称为RDB文件,默认是保存在当前运行目录。1.1.1 RDB执行时机RDB持久化在四种原创 2022-05-27 14:37:13 · 544 阅读 · 0 评论 -
【Redis学习10】好友关注---关注与取关,共同关注及关注推送
文章目录1. 关注与取关1.1 需求分析1.2 代码实现1.3 功能完善2. 共同关注2.1 需求分析2.2 代码实现3. 关注推送3.1 关注推送介绍3.2 Feed流的实现方式3.3 代码实现1. 关注与取关1.1 需求分析1.2 代码实现首先我们实现关注和取关功能,再实现是否关注功能。如何实现关注和取关功能呢?我们在页面点击关注按钮,页面会发送ajax请求将要关注或者取关的信息传递到服务端,关注传递的是true,取关传递的是false。同时,页面还将博主的id传递过来。接下来,我们只需要原创 2022-05-15 23:30:00 · 1456 阅读 · 0 评论 -
【Redis学习09】达人探店之发布探店笔记,点赞功能开发
文章目录1. 发布探店笔记1.1 需求分析1.2 代码实现1.3 添加查看笔记接口2. 点赞功能2.1 需求分析2.2 代码实现2.3 代码完善3. 点赞排行榜3.1 需求分析3.2 代码实现1. 发布探店笔记1.1 需求分析这里涉及两个接口,一个是上传照片的接口,一个是发布博客的接口,接下来我们实现这两个接口。1.2 代码实现上传图片代码@Slf4j@RestController@RequestMapping("upload")public class UploadController原创 2022-05-15 16:57:06 · 627 阅读 · 0 评论 -
【Redis学习08】Redis消息队列实现异步秒杀
文章目录1. 消息队列1.1 基于List结构模拟消息队列1.2 基于PubSub的消息队列1.3 基于Stream的消息队列2. 基于Stream的消息队列---消费者组2.1 消费者组介绍2.2 消费者监听消息基本思路2.3 消费者组总结3. 基于Stream的消息队列--消费者组实现异步秒杀3.1 需求分析3.2 代码实现3.2.1 创建Stream类型的消息队列3.2.2 编写用户下单资格的lua脚本3.2.3 实现异步秒杀完整代码1. 消息队列1.1 基于List结构模拟消息队列1.原创 2022-05-11 15:45:42 · 1316 阅读 · 0 评论 -
【Redis学习07】Redis优化秒杀--使用阻塞队列实现异步秒杀
抢单流程代码lua脚本代码:判断库存是否充足并且用户是否已经下过订单-- 1.参数列表-- 1.1.优惠券idlocal voucherId = ARGV[1]-- 1.2.用户idlocal userId = ARGV[2]-- 1.3.订单id-- local orderId = ARGV[3]-- 2.数据key-- 2.1.库存keylocal stockKey = 'seckill:stock:' .. voucherId-- 2.2.订单keylocal orderK原创 2022-05-11 14:43:53 · 1513 阅读 · 0 评论 -
【Redis学习06】分布式锁及其优化
1)什么是拆箱• 拆箱就是自动将包装器类型转换为基本数据类型• 拆箱调用Integer.intValue方法2)什么是装箱• 装箱就是自动将基本数据类型转换为包装器类型• 装箱调用的Integer.valueOf方法...原创 2022-05-10 14:52:58 · 961 阅读 · 0 评论 -
【Redis学习05】优惠券秒杀及其优化
文章目录1. 全局唯一ID1.1 全局唯一ID介绍及生成策略1.2 代码实现1.3 总结2. 优惠券秒杀下单2.1 添加优惠券2.2 优惠券秒杀功能3. 超卖问题3.1 问题分析3.2 乐观锁与悲观锁3.3 乐观锁的实现方式3.4 代码实现4. 一人一单4.1 需求分析4.2 代码实现4.3 问题分析1. 全局唯一ID1.1 全局唯一ID介绍及生成策略为了解决这个问题,我们就有必要自己设计一个全局的唯一ID。全局ID生成器,是一种在分布式系统下用来生成全局唯一ID的工具。一般需要满足以下特性:原创 2022-05-08 20:27:26 · 1456 阅读 · 0 评论 -
【Redis学习04】缓存穿透,缓存雪崩,缓存击穿
文章目录1. 缓存穿透1.1 什么是缓存穿透1.2 解决方案1.3 缓存穿透总结2. 缓存雪崩2.1 什么是缓存雪崩2.2 解决方案3. 缓存击穿3.1 什么是缓存击穿3.2 解决方案1. 缓存穿透1.1 什么是缓存穿透缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。如果某一时间段内这样的请求很多,就会给数据库带来巨大的压力,甚至可能导致数据库崩溃。1.2 解决方案我们看一下这两种解决方案的处理流程。这里的布隆过滤器(BloomFilt原创 2022-05-08 10:32:09 · 395 阅读 · 0 评论 -
【Redis学习03】redis缓存及其更新策略
文章目录1. 什么是缓存2. 添加redis缓存2.1 缓存商铺信息3. 缓存更新策略3.1 缓存更新策略方法3.2 主动更新策略3.3 缓存更新策略总结4. 对商铺查询的缓存添加超时剔除和主动更新4.1 超时剔除4.2 主动更新1. 什么是缓存缓存就是数据交换的缓冲区(Cache),是存储数据的临时地方,一般读写性能较高。缓存的作用及其成本:2. 添加redis缓存我们先来看看添加缓存和不添加缓存的区别可以看出,不添加缓存所有的查询操作直接从数据库中读取,一旦请求量很大,容易造成数据库崩溃。原创 2022-05-07 22:45:00 · 2085 阅读 · 0 评论 -
【Redis学习01】Redis基础操作
1. 什么是Redis记得之前在springboot学习中讲解过redis以及springboot如何整合redis,感兴趣的小伙伴可以找到springboot专栏的相关blog进行学习。在这里我们重新简要介绍一下redisRedis是一款采用key-value数据存储格式的内存级NoSQL数据库,重点关注数据存储格式,是key-value格式,也就是键值对的存储形式。与MySQL数据库不同,MySQL数据库有表、有字段、有记录,Redis没有这些东西,就是一个名称对应一个值,并且数据以存储在内存中使原创 2022-04-30 19:47:48 · 466 阅读 · 0 评论 -
【Redis学习02】基于session和基于redis实现登录功能
文章目录前言1. 基于session实现短信登录功能1.1 发送短信验证码1.2 短信验证登录1.3 登录校验功能2. 集群的Session问题3. 基于redis实现共享session登录3.1 发送短信验证码3.2 短信验证登录3.3 登录校验功能4. 拦截器优化4.1 分析原因4.2 代码实现4.3 拦截器优化总结前言本专栏基于redis的学习将会通过实现一个类似大众点评项目进行redis相关知识点的学习。该项目将会通过短信登录,商户缓存,优惠券秒杀,好友关注等多个模块开发来熟悉,使用以及掌握r原创 2022-05-07 21:54:27 · 1682 阅读 · 0 评论