redis
文章平均质量分 79
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
赵广陆
CSDN认证博客专家、CSDN的Java领域优质创作者、全网30w+粉丝、超300w访问量、专注于大学生项目实战开发、讲解和答疑辅导、以及产品测评宣传、工具推广等合作。同时招收学生代理、校园代理,对于专业性数据证明一切!
展开
-
Redis安装布隆过滤器
目录1 什么是布隆过滤器1.1 布隆过滤器的原理1.2 布隆过滤器缺点2 插件形式安装2.1 下载布隆过滤器插件3 docker方式单机安装4 Redis集群部署安装4.1 创建目录4.2 redis配置文件4.3 配置docker-compose.yml文件4.4 启动布隆过滤器集群4.5 配置集群4.6 布隆过滤器常用命令4.7 测试原创 2023-06-07 22:58:52 · 1189 阅读 · 0 评论 -
Redis高性能线程模型
目录1 redis常见问题解答1.1 Redis是单线程吗?1.2 Redis单线程为什么还能这么快?1.3 Redis单线程如何处理那么多的并发客户端连接?2 redis CAP分析3redis的线程模型4 总结1 redis常见问题解答1.1 Redis是单线程吗?Redis的单线程主要是指Redis的网络IO和键值对读写是由一个线程来完成的,这也是Redis对外提供键值存储服务的主要流程。但Redis的其他功能,比如持久化、异步删除、...原创 2020-11-21 16:50:30 · 621 阅读 · 0 评论 -
redis集群模式工作原理
目录1 redis集群模式背景2 redis cluster介绍2.1 节点间的内部通信机制2.2 基本通信原理2.2.1 gossip 协议2.2.2 ping 消息深入3 分布式寻址算法3.1 hash 算法3.2 一致性 hash 算法3.3 redis cluster 的 hash slot 算法4 redis cluster 的高可用与主备切换原理4.1 判断节点宕机4.2 从节点过滤4.3 从节点选举4.4 与哨兵比较5 redis集群模式部署5.1 集群简介5.2 Cluster集群结构设计5原创 2022-01-03 12:11:47 · 937 阅读 · 0 评论 -
redis全量同步和增量同步周期
全量复制master 执行 bgsave ,在本地生成一份 rdb 快照文件。master node 将 rdb 快照文件发送给 slave node,如果 rdb 复制时间超过 60秒(repl-timeout),那么 slave node 就会认为复制失败,可以适当调大这个参数(对于千兆网卡的机器,一般每秒传输 100MB,6G 文件,很可能超过 60s)master node 在生成 rdb 时,会将所有新的写命令缓存在内存中,在 slave node 保存了 rdb 之后,再将新的写命令复制给原创 2021-06-25 22:57:30 · 866 阅读 · 0 评论 -
Redis数据恢复和主从数据同步问题
Redis持久化Redis提供了两种持久化的选项,一种是快照文件(snapshotting,RDB),它会基于某个时间点将数据全部写入硬盘中(默认为dump.rdb)。另一种是只追加文件(append-only,AOF),它会在执行写入命令时将命令写入到硬盘中。Redis持久化数据最主要是为了数据备份,故障恢复,也有一些经过耗时较长的计算结果存在Redis中,如果这些数据存在硬盘中,即使服务器重启了之后,这些数据还是存在的,不用再去耗时计算了。这两种方式可以单独使用,也可以结合起来使用。最重要的还是要理解原创 2021-06-25 22:41:09 · 427 阅读 · 0 评论 -
SpringData Redis
目录1 SpringData Redis简介2 Redis环境搭建2.1 安装redis的依赖环境2.2 上传安装包2.3 解压2.4 编译2.5 安装2.6 复制配置文件2.7 修改redis的配置文件2.8 启动redis服务3 SpringData Redis入门案例3.1 创建工程,引入坐标3.2 创建配置文件3.3 创建测试类,完成一条简单数据的存取4 SpringData Redis的序列化器5 SpringData Redis运行原理分析6 SpringData Redis常见操作6.1 St原创 2021-01-18 22:13:26 · 2726 阅读 · 0 评论 -
Redis哨兵集群实现高可用
目录1 哨兵的介绍2 哨兵的核心知识3 redis 哨兵主备切换的数据丢失问题3.1 两种情况和导致数据丢失3.2 数据丢失问题的解决方案4 sdown 和 odown 转换机制5 哨兵集群的自动发现机制6 slave 配置的自动纠正7 slave->master 选举算法8 quorum 和 majority9 configuration epoch10 configuration 传播1 哨兵的介绍sentinel,中文名是哨兵。哨兵原创 2021-02-14 15:09:30 · 464 阅读 · 0 评论 -
Redis主从架构
目录1 Redis 主从架构2 redis replication 的核心机制3 redis 主从复制的核心原理3.1 主从复制的断点续传3.2 无磁盘化复制3.3 过期 key 处理4 复制的完整流程4.1 全量复制4.2 增量复制4.3 heartbeat4.4异步复制5 redis 如何才能做到高可用1 Redis 主从架构单机的 redis,能够承载的 QPS 大概就在上万到几万不等。对于缓存来说,一般都是用来支撑读高并发的。因此架构.原创 2021-02-14 15:08:31 · 506 阅读 · 1 评论 -
Redis在生产环境中是怎么部署的?
1 问题分析:看看你了解不了解你们公司的 redis 生产集群的部署架构,如果你不了解,那么确实你就很失职了,你的 redis 是主从架构?集群架构?用了哪种集群方案?有没有做高可用保证?有没有开启持久化机制确保可以进行数据恢复?线上 redis 给几个 G 的内存?设置了哪些参数?压测后你们 redis 集群承载多少 QPS?兄弟,这些你必须是门儿清的,否则你确实是没好好思考过。2 面试题回答:redis cluster,10 台机器,5 台机器部署了 redis 主实例,另外 5 台机器原创 2021-01-01 20:11:36 · 1079 阅读 · 0 评论 -
Redis并发竞争问题和事务CAS方案
目录1 问题分析:2 面试题回答:1 问题分析:redis 的并发竞争问题是什么?如何解决这个问题?了解 redis 事务的 CAS 方案吗?这个也是线上非常常见的一个问题,就是多客户端同时并发写一个 key,可能本来应该先到的数据后到了,导致数据版本错了;或者是多客户端同时获取一个 key,修改值之后再写回去,只要顺序错了,数据就错了。而且 redis 自己就有天然解决这个问题的 CAS 类的乐观锁方案。2 面试题回答:某个时刻,多个系统实例都去更新某个 key。可以基原创 2021-01-01 20:10:13 · 722 阅读 · 0 评论 -
Redis缓存与Mysql数据库的一致性问题解决
目录1 产生数据不一致的各种情况1.1 先写在更新1.2 先写完后删除对应的缓存2 高并发解决方案2.1 设置缓存过期时间2.2 使用canal进行同步这个问题如果问道先删或者先更新谁也不好使,高并发情况肯定会不一致。1 产生数据不一致的各种情况1.1 先写在更新1.2 先写完后删除对应的缓存优化版1:缓存双删优化版2:串行化队列2 高并发解决方案2.1 设置缓存过期时间redis.expire(ke...原创 2021-01-01 20:07:50 · 979 阅读 · 0 评论 -
Redis过期策略和内存淘汰机制(手写LRU算法)
目录1 问题分析:2 面试题回答:2.1 redis 过期策略2.2 内存淘汰机制2.3 手写一个 LRU 算法1 问题分析:redis 的过期策略都有哪些?内存淘汰机制都有哪些?手写一下 LRU 代码实现?如果你连这个问题都不知道,上来就懵了,回答不出来,那线上你写代码的时候,想当然的认为写进 redis 的数据就一定会存在,后面导致系统各种 bug,谁来负责?常见的有两个问题:往 redis 写入的数据怎么没了?可能有同学会遇到,在生产环境的 red原创 2021-01-01 20:05:36 · 916 阅读 · 0 评论 -
Redis持久化机制具体底层如何实现的?
目录1 持久化1.1持久化概念1.2 持久化过程保存什么2 RDB持久化方案2.1 save指令2.2 bgsave指令2.3 自动保存2.4 三种区别2.5 RDB优点2.6 RDB缺点3 AOF持久化方案(主流)3.1 概念3.2 配置3.3 AOF三种写入策略3.4 优化3.5 RDB PK AOF4 总结4.1 redis 持久化的两种方式4.2 RDB 优缺点4.3 AOF 优缺点5 RDB 和 AOF 到..原创 2021-01-01 19:59:44 · 1164 阅读 · 0 评论 -
Redis高并发和高可用
目录1 问题分析:2 面试题回答:1 问题分析:如何保证 redis 的高并发和高可用?redis 的主从复制原理能介绍一下么?redis 的哨兵原理能介绍一下么?其实问这个问题,主要是考考你,redis 单机能承载多高并发?如果单机扛不住如何扩容扛更多的并发?redis 会不会挂?既然 redis 会挂那怎么保证 redis 是高可用的?其实针对的都是项目中你肯定要考虑的一些问题,如果你没考虑过,那确实你对生产系统中的问题思考太少。2 面试题回答:如果你用 redis原创 2021-01-01 19:58:07 · 636 阅读 · 1 评论 -
Redis常用数据类型介绍
目录1 redis 主要有以下几种数据类型2 string3 hash4 list5 set6 sorted set1 redis 主要有以下几种数据类型代码实现:https://blog.csdn.net/ZGL_cyy/article/details/112796251stringhashlistsetsorted set老有人想知道redis能存多少数据,所以看了眼redis官方文档Strings类型:一个String类型的value最大可以存储512MLists类型:l原创 2021-01-01 19:52:58 · 876 阅读 · 0 评论 -
为什么要用Redis缓存?
1 问题分析:项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?这个问题,互联网公司必问,要是一个人连缓存都不太清楚,那确实比较尴尬。只要问到缓存,上来第一个问题,肯定是先问问你项目哪里用了缓存?为啥要用?不用行不行?如果用了以后可能会有什么不良的后果?这就是看看你对缓存这个东西背后有没有思考,如果你就是傻乎乎的瞎用,没法给面试官一个合理的解答,那面试官对你印象肯定不太好,觉得你平时思考太少,就知道干活儿。2 面试题回答:2.1 项目中缓存是如何使用的?这个,需要结原创 2021-01-01 19:38:53 · 1138 阅读 · 0 评论 -
Redis常见问题企业级解决方案
目录1 缓存预热2 缓存雪崩3 缓存击穿4 缓存穿透5 性能指标监控1 缓存预热问题: “宕机”,服务器启动后迅速宕机问题排查:请求数量较高主从之间数据吞吐量较大,数据同步操作频度较高解决方案: 前置准备工作:1. 日常例行统计数据访问记录,统计访问频度较高的热点数据2. 利用LRU数据删除策略,构建数据留存队列,例如:storm与kafka配合准备工作:将统计结果中的数据分类,根据级别,redis优先加载级别较高的热点数据利用分布式多服务器同时进行数据读取,提速数据加载原创 2020-12-24 12:24:16 · 877 阅读 · 0 评论 -
Jedis和RedisTemplate
目录1 Jedis简介1.1 编程语言与redis1.2 准备工作1.3 代码实现2 Jedis简易工具类开发2.1 基于连接池获取连接2.2 封装连接参数2.3 加载配置信息2.4 获取连接3 可视化客户端1 Jedis简介1.1 编程语言与redis[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SGoLIN2Y-1608002733268)(img\jedis1.png)]对于我们现在的数据来说,它是在我们的redis中,而最终我们是要原创 2020-12-15 11:37:09 · 2636 阅读 · 0 评论 -
Redis入门操作
目录学习目标概念应用场景安装启动和配置启动服务端启动客户端服务端配置入门操作redis支持的数据类型string基本操作扩展操作扩展操作注意事项key的命名规范hash基本操作扩展操作注意事项应用场景list基本操作扩展操作注意事项应用场景set基本操作注意事项应用场景实践案例key的通用操作db常用指令学习目标1.能够独立安装redis2.能够通过查询文档使用redis常见命令,比如set,get…3.能够说出RDB和AOF的优缺点,从占用存储空间\存储速度\恢复速度\数据安全性\资源消耗\原创 2020-12-11 15:59:32 · 792 阅读 · 0 评论 -
redis如何通过读写分离来承载读请求高并发
1、redis高并发跟整个系统的高并发之间的关系redis,你要搞高并发的话,不可避免,要把底层的缓存搞得很好mysql,高并发,做到了,那么也是通过一系列复杂的分库分表,订单系统,事务要求的,QPS到几万,比较高了要做一些电商的商品详情页,真正的超高并发,QPS上十万,甚至是百万,一秒钟百万的请求量光是redis是不够的,但是redis是整个大型的缓存架构中,支撑高并发的架构里面,非常重要的一个环节首先,你的底层的缓存中间件,缓存系统,必须能够支撑的起我们说的那种高并发,其次,再经过良原创 2020-12-06 23:59:28 · 890 阅读 · 0 评论 -
Linux搭建Redis缓存服务器
目录1 Redis的安装1.1 Redis的安装1.2 连接redis1.2.1 redis的启动:1.2.2 Redis-cli1.3 Redis五种数据类型1 Redis的安装1.1 Redis的安装Redis是c语言开发的。说明是自带环境的安装redis需要c语言的编译环境。如果没有gcc需要在线安装。Yum install gcc-c++...原创 2020-04-03 17:03:21 · 858 阅读 · 0 评论