1、什么是 redis ?Redis本质上是一个Key-Value类型的内存数据库,很像 Memcached ,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。 Redis的出色之处不仅仅是性 ......
172
0
0
2023-10-17
目录前言一、Redis复制是什么?二、Redis复制能干嘛?三、Redis复制的缺点1、复制延迟2、master宕机四、乐观复制策略五、Redis复制常用命令1、info replication2、replicaof 主库Ip 主库port3、slaveof 主库IP 主库port4、slaveof no one六、Redis复制工作流程七、Redis哨兵是 ......
203
0
0
2023-09-11
目录一。Redis实现分布式锁原理为什么需要分布式锁分布式锁如何实现如何避免死锁锁被别人给释放了如何确定锁的过期时间Redis的部署方式对锁的影响二。代码实现Redis分布式锁1.SpringBoot整合redis用到最多的当然属于我们的老朋友RedisTemplate,pom依赖如下:2.Redis配置类:3.Service层面4.业务调用实现分布式锁示例 ......
256
0
0
2023-09-10
Redis 作为我们最常用的内存数据库,很多地方你都能够发现它的身影,比如说登录信息的存储,分布式锁的使用,其经常被我们当做缓存去使用。 可是,用了这么久的 redis ,你懂它吗? 其他《面试八股文》系列文章 目录1.什么是 redis?它能做什么? 2.redis 有哪八种数据类型?有哪些应用场景? 3.redis为什么这么快? 4.听 ......
169
0
0
2023-09-09
目录一、摘要二、Lettuce2.1、基本使用2.2、同步操作2.3、异步操作2.4、响应式编程2.5、发布和订阅2.6、客户端资源与参数配置2.7、线程池配置2.8、主从模式配置2.9、哨兵模式配置2.10、Cluster 集群模式配置三、小结一、摘要Lettuce 是 Redis 的一款高级 Java 客户端,与 Jedis 并列成为最热门的客户端之一, ......
202
0
0
2023-07-09
目录一、摘要二、方案实践2.1、引入 redis 组件2.2、添加 redis 环境配置2.3、编写服务验证逻辑,通过 aop 代理方式实现2.4、在相关的业务接口上,增加SubmitLimit注解即可三、小结一、摘要在上一篇文章中,我们详细的介绍了随着下单流量逐渐上升,为了降低数据库的访问压力,通过请求唯一ID+redis分布式锁来防止接口重复提交,流程图 ......
293
0
0
2023-06-18
目录1、redis哨兵(Sentinel)1.1、redis集群介绍1.2、redis哨兵(Sentinel)的工作原理1.2.1sentinel中的三个定时任务:1.3、实现哨兵1.3.1、实现哨兵需要先实现一下主从复制的架构1.3.2、编辑哨兵的配置文件1.3.2、启动哨兵1.3.3、验证哨兵端口1.3.4、查看哨兵日志1.3.5、当前sentinel状 ......
224
0
0
2023-06-16
以下文章来源于sowhat1412 ,作者sowhat1412 总感觉哪里不对,但是又说不上来1、基本类型及底层实现 1.1、String 用途: 底层 :C语言中String用 char []数组表示,源码中用 SDS (simple dynamic string)封装char[],这是是 Redis 存储的 最小单元 ,一个SDS最大可以存储51 ......
268
0
0
2023-06-01
目录什么是 Redis前置知识String介绍常用命令使用场景底层实现SDS 结构体List介绍常用命令使用场景底层实现ZipListQuickListHash介绍常用命令使用场景底层实现DictDict 的 rehashSet介绍常用命令使用场景底层实现IntsetZSet介绍常用命令使用场景底层实现SkipList什么是 RedisRedis 是基于内存 ......
264
0
0
2023-05-15
目录一、高可用什么是高可用二、Redis持久化持久化功能RDB持久化 触发条件bgsave执行流程AOF持久化执行流程命令追加文件写入和文件同步文件重写文件重写流程三、RDB和AOF的优缺点RDB持久化的优缺点优点缺点AOF持久化优缺点四、Redis性能管理查看Redis内存使用内存碎片率内存碎片如何产生跟踪内存碎片率解决碎片率大的问题内存使用率内 ......
274
0
0
2023-05-02
准确的讲,Redis 事务包含两种模式 : 事务模式 和 Lua 脚本。先说结论:Redis 的事务模式具备如下特点:保证隔离性;无法保证持久性;具备了一定的原子性,但不支持回滚;一致性的概念有分歧,假设在一致性的核心是约束的语意下,Redis 的事务可以保证一致性。但 Lua 脚本更具备实用场景,它是另一种形式的事务,他具备一定的原子性,但脚本报错的情况下 ......
261
0
0
2023-05-02
目录一、单点Redis的问题二、RDB三、AOF四、Redis优化秒杀流程1、秒杀步骤:2、Redis优化秒杀步骤:3、秒杀的lua脚本 4、调用秒杀的lua脚本5、通过线程池,操作阻塞队列五、基于Redis实现共享session登录基于session实现登录一、单点Redis的问题1、数据丢失问题Redis数据持久化。2、并发能力问题大家主从集群 ......
308
0
0
2023-04-27
目录集群结构准备实例和配置启动创建集群测试集群结构分片集群需要的节点数量较多,这里我们搭建一个最小的分片集群,包含3个master节点,每个master包含一个slave节点,结构如下:这里我们会在同一台虚拟机中开启6个redis实例,模拟分片集群,信息如下:IPPORT角色192.168.150.1017001master192.168.150.10170 ......
275
0
0
2023-04-06
主流 I/O 模型阻塞IO、非阻塞IO、异步 IO 。BIO 模型同步阻塞 模型,一个客户单对应一个链接的处理线程缺点:1、IO 中如果进行 read 是阻塞操作,如果请求的链接操作不做任何操作,也会导致线程阻塞,浪费线程资源2、如果线程很多,会导致服务器压力增加,比如 C10K问题引用场景:BIO 方式运用数目比较小且固定的架构,这种方式对服务器资源要求比 ......
285
0
0
2023-03-24
目录一、StringⅠ、set、get、append、strlen、existsⅡ、incr、decr、incrby、decrbyⅢ、getset、setnxⅣ、setex、ttlⅤ、mget、mset、msetnx二、ListⅠ、lpush、lpushx、lrangeⅡ、lpop、llenⅢ、lrem、lset、lindex、ltrim Ⅳ、li ......
295
0
0
2023-03-16