![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
文章平均质量分 67
关于Redis的详细介绍和使用方式,以及他的特性机制,一个专栏手把手带你吃透Redis!
Be explorer
分享日常学习笔记和实战经验,开源NB
展开
-
Redis篇——Zset在Redis中底层存储数据结构,深入浅出详细剖析底层存储逻辑,一篇文章帮你拿下!
先后往Zset集合中添加数据,底层的存储数据结构发生了变化,从压缩列表变成了跳表。为什么会出现这个情况呢?首先先了解什么是压缩列表。原创 2024-06-05 09:34:02 · 695 阅读 · 0 评论 -
Redis篇——String类型在Redis中底层存储数据结构,全方位分析底层存储原理!
String是Redis中最基本的数据类型,它可以存储任意类型的数据,比如文本、数字、图片或者序列化的对象等等。一个String类型的键最大可以存储512MB的数据。原创 2024-06-04 09:51:42 · 489 阅读 · 1 评论 -
Redis篇——Redis常规存取数据的底层原理,言简意赅帮你彻底弄清底层原理!
2、对这个hash值模上数字的长度,最后会得到一个数组的长度。比如最后模余了1,就定为到了这个key的存储数组位置。3、最后将这个key和value存储到数组对应的链表上,存储的形式是如上图,以key-value的形式存储。3、通过key获取到数组长度为1对应链表上的key为目标key的数据并返回。1、首先会对存的key进行hash运算,拿到这个key的hash值。1、首先会对存的key进行hash运算,拿到这个key的hash值。2、对这个hash值模上数字的长度,最后会得到一个数组的长度。原创 2024-06-04 09:45:52 · 168 阅读 · 0 评论 -
Redis篇——带你认识和了解Redis主从复制原理,一篇文章帮你搞定!
Master接到命令后,启动后台的存盘进程,同时收集所有接收到的用于修改数据集的命令,在后台进程执行完毕之后,Master将传送整个数据文件到Slave,并完成一次完全同步!当从机成功连接到主机上,主机上会和从机进行一次完全同步数据,把快照发送给从机,等待从机加载完成后,再把缓冲区(也就是repl_baklog文件)的命令给从机执行,这个过程就叫做全量复制。从机连接到主机,全量复制结束,当主机的数据进行修改,主机会把收集到的修改命令存储到repl_baklog文件中传给从机,完成同步。原创 2024-06-03 09:47:25 · 418 阅读 · 1 评论 -
Redis篇——详细介绍Redis分片集群,一篇文章帮你搞定!
主从和哨兵看可以解决高可用、高并发读的问题。但是依旧是解决不了下面的两个问题:1、海量数据存储问题2、高并发写的问题Redis分片集群是一种分布式系统,用于将Redis的数据分布在多个Redis节点上。这种集群通过将数据分成多个部分,并将每个部分存储在不同的节点上,可以实现Redis的高可用性和高性能。分片集群主要着眼于高扩展性,它由多个Redis实例组成一个集群,然后按照一定的规则,把收到的数据划分成多份,每一份用一个实例来保存。这样可以处理大量数据,解决海量数据存储和高并发写的问题。原创 2024-06-03 09:41:15 · 386 阅读 · 0 评论 -
Redis篇——超详细、超细节I/O多路复用介绍,回答Redis为什么单线程这么快!涵盖阻塞I/O模型、Linux内核空间以及Redis网络模型等常见技术点,一篇文章帮你彻底拿下!
redis为什么能够在单线程的情况下,轻松应对高并发的访问,Redis提供的I/O多路复用功不可没!Redis 使用 I/O 多路复用来处理连接,这意味着它不会为每个连接创建一个新的线程。而是使用一个主线程来监听多个连接,并在需要时进行处理。这种设计减少了线程切换的开销,并允许 Redis 在高并发场景下保持高性能。补充一下其他的帮助redis处理高并发请求的小帮手!事件驱动:Redis 使用事件驱动模型来处理请求。它监听套接字的 I/O 事件,一旦有数据可用,就立即处理。原创 2024-05-30 09:00:00 · 1399 阅读 · 1 评论 -
Redis篇——深入了解Redis数据过期清除策略和缓存淘汰策略,一篇文章超详细、超细节!
(2)定期删除注意事项①如果删除操作执行次数过多、执行时间太长,就会导致和定时删除同样的问题:占用大量CPU资源去进行删除操作②如果删除操作次数太少、执行时间短,就会导致和惰性删除一样的问题:类似内存泄露!所以,定期删除最关键的地方就是在于执行时常和频率的设置,将来在实际开发中依照需求,可在Redis的配置文件中配置!原创 2023-12-09 11:55:10 · 1434 阅读 · 0 评论 -
Redis篇——仅此一篇黄金文档,带你彻底Redis缓存穿透、击穿和雪崩,史上最详细、最全面的保姆级教程奉上~
一、概念当用户想要查询一个数据,发现Redis内存数据库中没有,也就是缓存没有命中,于是向持久层数据库中查询。但是发现持久层数据库中也没有,于是本次查询失败。当用户非常多的时候,缓存都没有命中,于是都去请求了持久层数据库。这会给持久层数据库造成很大的压力,这个现象就叫做缓存穿透二、解决方案1、布隆过滤器布隆过滤器是一种数据结构,对所有可能查询的参数以hash形式存储,在控制层先进性校验,不符合则丢弃,从而避免了对底层存储系统的查询压力。2、缓存空对象。原创 2023-12-08 18:13:23 · 913 阅读 · 0 评论 -
Redis篇——一篇文章带你彻底拿下Sentinel哨兵模式(自动选举老大的模式)技术点,超详细、保姆级别教程奉上,不要错过~
一、概述和实现逻辑主从切换技术的方法是,当主服务器宕机后,需要手动把一台从服务器通过命令切换为主服务器,这就需要人工干预,还会造成一段时间内服务不可用。这不是一种值得推荐的方式,更多的时候,我们会优先考虑哨兵模式!!!哨兵模式,是一个分布式系统:通俗的讲,就是一种谋朝篡位的自动版,能够在后台监控主机是否故障,如果故障了,会根据投票自动将从服务器转换为主服务器。用于监控和管理Redis实例的高可用性。在Redis Sentinel中,哨兵实例之间通过PING和PONG消息进行通信。原创 2023-12-08 18:08:46 · 2895 阅读 · 0 评论 -
Redis篇——Redis主从复制,详细的主从复制底层原理和Redis集群搭建以及集群宕机配置主机等技术点~
一、概念主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader)、后者称为从节点(slave/follower)。数据的复制是单向的,只能由主节点到从节点。Master以写为主,Slaver以读为主默认情况下,每台Redis服务器都是主节点,且一个主节点可以有多个从节点(或者没有从节点),但是一个从节点只能有一个主节点二、主从复制架构一般来说,搭建主从复制的集群至少需要4个Redis服务器,一主三从三、主从复制原理。原创 2023-12-08 18:00:30 · 1256 阅读 · 0 评论 -
Redis篇——Redis订阅发布,详细了解Redis节点之间怎么实现消息通知~
这是一种消息通信模式。发送者(pub)发送消息,订阅者(sub)接收消息。比如我们常见的微信公众号、微博等系统。至此,关于Redis的订阅与发布介绍完毕,后续还会持续更新,敬请期待!三、Redis实现该功能的命令。一、Redis的订阅和发布。2、发布者往频道发送信息。二、订阅/发布消息图。原创 2023-12-08 17:52:06 · 455 阅读 · 0 评论 -
Redis篇——Redis持久化,学习Redis的重点中的重点!涵盖RDB和AOF持久化机制详细的介绍和对比,保姆级教程!一篇文章帮你彻底拿下!
一、前请了解Redis是内存数据库,如果不将内存中的数据状态保存到磁盘中,那么一旦服务器进程中断,服务中的数据状态也会消失。因此,Redis提供了持久化的功能!!!!!!二、重要性在面试和工作中,是非常常用和高频提问的,尤其是要学扎实RDB和AOF!!!!!!原创 2023-12-08 16:47:07 · 933 阅读 · 0 评论 -
Redis篇——一篇文章搞懂Redis.conf配置文件中都做了什么?
我们现在发现,启动Redis需要通过配置文件来启动!工作中,能够优化配置文件,优化小小的细节,就是我们不同反响之处!原创 2023-12-08 16:11:30 · 1023 阅读 · 0 评论 -
Redis篇——SpringBoot集成Redis,详细集成过程,自定义RedisTemplate操作
一、首先需要了解,在Redis存储对象的时候,需要将对象序列化,如果不序列化,那么就会报错两个办法:1、实体类上实现序列化接口2、直接往Redis中存储一个Json字符串但是如果使用实现序列化接口或者存Json字符串,都是底层通过JDK来实现序列化的,在Redis中会转译,不是我们想要的字符串key,所以这个时候有必要自己重写一个RedisTemplate模板二、自定义Redistemplate该模板可以直接使用!!!!!!原创 2023-12-08 15:58:18 · 872 阅读 · 0 评论 -
Redis篇——一篇文章带你搞懂拿下Redis如何操作事务、Jedis操作Redis事务~
如果想通过Java来操作Redis,必须要十分熟悉Jedis!当命令出现类似Java中1/0的错误,假设事务中的命令存在语法性错误,那么执行的时候,其他的命令是可以执行的,错误的命令抛出异常,即不保证原子性!Redis还没有事务隔离的功能,所有的命令在事务中并没有被执行,只有发起执行命令的时候才会被执行,不存在幻读或者脏读的情况!至此,关于Redis如何操作事务,你已经掌握了,后续还会持续更新,希望各位可以持续关注!首先要明白,Redis的单条命令是保证原子性的,但是事务不保证原子性!原创 2023-12-08 13:56:05 · 757 阅读 · 0 评论 -
Redis篇——Redis操作三大特殊数据类型(比较常见的geospatial地理空间、hyperloglogs基数统计和bitmaps位图场景)
该数据类型,在早些的3.2版本就已经发布了。这个功能可以推算地理位置的信息,两地之间的距离等等。原创 2023-12-08 12:57:06 · 394 阅读 · 0 评论 -
Redis篇——Redis操作五大数据类型(String、List、Set、Hash、Zset),一篇文章速通!史上最详细、最全面的保姆级命令总结!
关于Redis操作五大数据类型的命令全部总结完毕!命令比较复杂,笔者一次性将其归并到一篇文章里面,希望能够对大家掌握Redis的使用有帮助。建议收藏,反复浏览消化!后续还会持续更新关于Redis等技术栈分享,敬请期待!原创 2023-12-08 12:40:57 · 961 阅读 · 0 评论 -
Redis篇——Redis-Key基本命令,一篇命令教你操作Redis中的键!
至此,你已经学会了如何去操作Redis数据库中的键key,后续还会继续更新其他命令,欢迎关注和支持!测试我想删除第1个数据库中的name。拓展:查看某个key的过期时间。设置name20秒钟过期。查看name的过期时间。原创 2023-12-01 18:08:34 · 429 阅读 · 0 评论 -
Rrdis篇——Redis基础命令,一篇文章搞定Redis的最基本命令!
至此,关于Redis的基本命令已经介绍完毕,后续还会更新更加深入的命令,敬请期待!1、可以使用select进行切换数据库,不同的数据可以选择存储在不同的数据库中。通过查看每一个Redis服务的redis.conf配置文件,看到有16个。Redis默认的数据库个数,默认是16个数据库,默认使用第0个数据库。然后我往里面传一条数据,再次查询数据库大小,则就变成了1。二、查看数据库中所有的key。下图中是清空第四个数据库。2、查看数据库的大小。三、清空当前的数据库。原创 2023-12-01 18:03:48 · 407 阅读 · 0 评论 -
Redis篇——Redis-benchemark性能测试,一篇文章帮你搞定!
Redis-benchemark是一个Redis官网自带的的压力测试工具。测试100个并发,100000条请求。二、测试工具常见的可选参数。原创 2023-12-01 14:40:36 · 498 阅读 · 0 评论 -
Redis篇——Redis基本理论,涵盖Redis的认识、安装(Windows和Linux双环境)和使用以及扩展知识,一篇文章通杀!
一、概述(特性)Redis,全称Remote Directory Server,即远程字典服务。是开源的使用C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供了多种语言的API(可以使用多种语言调用Redis),支持集群和事务,Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步!主要是因为它的免费和开源,并且是当下最受欢迎的NoSQL技术之一,也被人们称之为结构化数据库!原创 2023-12-01 12:55:44 · 1069 阅读 · 0 评论 -
Redis篇——学习Redis前情小菜!学习了解并认识什么是NoSQL!
用户的个人信息、账单信息、物流信息、用户日志以及用户自己产生的数据等等,这些数据的存储不需要像关系型数据库那样有行和列的固定格式,在非关系型数据库中可以是动态的,并且不需要多余的操作就可以横向扩展的(做集群)当今是名副其实的大数据时代,更有人形容现在是数据爆炸的时代,如今的微博或者是抖音的热榜等数据,不仅量大,而且经常发生变化,普通的关系型数据库是绝对无法负担的,有点力不从心。2、大数据量,高性能(Redis一秒写8万次,读取11万次,NoSQL的缓存记录级别,是一种细粒度的缓存,性能会比较高!原创 2023-12-01 12:46:49 · 386 阅读 · 0 评论