ToB企服应用市场:ToB评测及商务社交产业平台

标题: Redis [打印本页]

作者: 张国伟    时间: 2024-6-20 14:55
标题: Redis
一、redis的5种数据类型

   1、string-----------------字符串类型
  2、hash------------------散列类型
  3、list---------------------列表类型
  4、set--------------------无序聚集类型
  5、zset-------------------有序聚集类型
    不同数据类型的读写
    二、redis是单线程吗?

           是的,Redis是单线程的。Redis接纳了事件驱动模型,使用一个主线程来处理网络哀求、读写数据和实行命令。这种设计使得Redis能够充分使用操作系统提供的I/O多路复用机制,高效处理大量的并发连接。虽然Redis是单线程的, 但是通过单线程透明的访问操作系统,从而实现并发处理大量的连接和哀求。
  三、redis6为何引入多线程?

           Redis6引入多线程主要是为了提高系统的并发处理能力和性能。在之前的版本中,Redis是单线程的架构,每个连接都是在单个线程上处理的,这限制了系统的并发能力。
          而在Redis6中引入了多线程模型,可以同时处理多个连接和操作,从而提高了并发处理的能力。多线程模型允许Redis同时处理多个哀求,淘汰了哀求列队的情况,大大提高了系统的吞吐量。
          此外,多线程模型还可以充分使用多核处理器的计算能力,通过并行处理来提高系统的性能。在处理大量连接和高并发的场景下,多线程模型可以更有效地使用系统资源,提供更好的性能和相应时间。
  四、redis的长期化计谋

   Redis有两种长期化计谋:RDB(Redis DataBase)和AOF(Append-Only File)。
    在实际应用中,可以根据数据的重要性和对数据的要求来选择合适的长期化计谋,也可以同时使用RDB和AOF来提高数据的安全性和恢复速度。
    rdb方式与aof方式的区别?
          rdb是接纳快照的方式定时存储,它比较节流资源,但大概会导致未保存的数据意外丢失 aof是接纳日志的方式即时存储,它消耗的资源会比rdb方式更多,但它可以防止数据意外丢失
  五、缓存击穿、缓存雪崩、缓存穿透

1、缓存击穿

   原理:
          如果缓存中某个热门数据逾期了,此时大量哀求访问该热门数据,就无法从缓存中读取,直接访问数据库,数据库很容易被高并发的哀求冲垮。
  办理方案:
          1、互斥锁方案,包管同一时间只有一个业务线程更新缓存,未能获取互斥锁的哀求,要么等待锁释放后重新 读取缓存,要么就返回空值或者默认值。
          2、不给热门数据设置逾期时间,由后台异步更新缓存,或者在热门数据预备要逾期前,提前关照后台线程更 新缓存以及重新设置逾期时间;
  2、缓存雪崩

   原理:
          当大量缓存数据在同一时间逾期(失效)或者 Redis 故障宕机时,如果此时有大量的用户请 求,都无法在 Redis 中处理,于是全部哀求都直接访问数据库,从而导致数据库的压力骤增,严峻的会造成 数据库宕机,从而形成一系列连锁反应,造成整个系统瓦解,这就是缓存雪崩的问题。
  办理方案:
  
  3、缓存穿透

   原理:
          当用户访问的数据,既不在缓存中,也不在数据库中,导致哀求在访问缓存时,发现缓存缺失,再去访问数据库时,发现数据库中也没有要访问的数据,没办法构建缓存数据,来服务后续的哀求。那么当有大量这样的哀求到来时,数据库的压力骤增,这就是缓存穿透的问题。
  办理方案:
  
  六、redis实现分布式锁

6.1、什么是分布式锁

           分布式锁是一种机制,用于确保在分布式系统中,多个节点在同一时刻只能有一个节点对共享资源进行操作。它是办理分布式情况下并发控制和数据一致性问题的关键技术之一。
  
分布式锁的特性:
    
  6.2、redis实现分布式锁的7中方案

     参考及详解:
  Redis实现分布式锁的7种方案,及正确使用姿势!
  七、Redis是如何办理Hash辩论的?

           redis是通过我们的链式hash来办理我们的hash辩论问题,哈希算法产生的哈希值的长度是固定并且是有限的,比如说我们通过MD5算法生成32位的散列值,那么它能生成出来的长度则是有限的,我们的数据如果大于32位是不是就大概存在不同数据生成同一个散列值,那么redis通过链式hash,以不扩容的前提下把有相同值的数据链接起来,但是如果链表变得很长就会导致性能下降,那么redis就接纳了rehash的机制来办理,类似于hashmap里面的扩容机制,但是redis中的rehash并不是一次把hash表中的数据映射到另外一张表,而是通过了一种渐进式的方式来处理,将rehash分散到多次哀求过程中,避免壅闭耗时。
  八、redis如何包管与数据库的双写一致性

     九、redis是如何处理逾期的数据的?

   Redis 使用一种称为惰性删除(lazy expiration)的方式来处理逾期数据。这意味着 Redis 并不是立刻在键逾期时将其删除,而是在某个键被访问时查抄它是否逾期,如果逾期了,才会将其删除。
详细来说,当客户端实行访问一个键时,Redis 会首先查抄该键是否设置了逾期时间。如果设置了逾期时间,Redis 会在访问该键时查抄它是否逾期,如果逾期了,则会在访问前删除该键并返回空值,否则会返回键对应的值。
  
在处理逾期键时,Redis 使用定期删除(定时任务)和惰性删除相联合的计谋:
  1.定期删除: Redis 会周期性地(默认每秒钟查抄10次)随机抽取一些设置了逾期时间的键,并查抄它们是否逾期,如果逾期则删除。这样可以确保逾期的键会在一定时间内被及时清理。
2.惰性删除: 当客户端实行访问一个键时,Redis 会在访问前查抄该键是否逾期,如果逾期则会被删除。这样可以避免定期删除带来的性能开销,并且可以在键被访问时立刻删除逾期键,释放内存空间。
  十、redis为什么快

   1.内存存储:Redis将数据存储在内存中,实现了快速的读写操作。
  2.单线程模型: Redis接纳单线程处理哀求,避免了多线程的竞争和上下文切换开销。
  3.高效的数据结构:Redis内部使用了高效的数据结构,如哈希表、跳跃表等,提供了快速的数据访问和操作。
  4.异步l0: Redis使用异步IO来处理网络哀求,能够同时处理多个哀求,提高并发性能。
  5.事件驱动架构:Redis基于事件驱动的模型,通过事件循环机制处理哀求和操作,提高系统的效率。
  6.优化的操作:Redis对常用操作进行了优化,如批量操作和管道技术,淘汰了网络通信开销。
 
  十一、redis集群

11.1、原理

   Redis集群的原理主要包罗分片和复制两个方面。
    Redis集群还包罗一些其他的机制来确保数据的可用性和一致性,比如故障检测和故障恢复机制。当节点发生故障时,集群会自动检测故障节点,并进行故障转移,将数据重新分配到其他正常节点上。同时,Redis集群还支持客户端的自动重定向,当客户端哀求到达错误的节点时,节点会自动将哀求重定向到正确的节点上。
  11.2、配置redis集群的要求

   1、redis的主机数量必须是单数,至少必要配置3台redis主机
  2、redis的主机必要配置从机。配置redis集群至少必要6台redis服务器,其中3台主机,3台从机
  11.3、判断redis集群是否失败的标准

   1、如果集群中主机挂了,它如果没有配置从机。该节点无法访问,集群失败无法使用
  2、如果集群中有一半以上的主机挂了,即使它们配置了从机,集群也是失败的
  11.4、redis集群存储数据

           当配置redis集群中,集群中会产生16384个哈希槽(哈希槽用于详细存储数据),这些哈希槽会均分到 每一台主机上,当向redis集群存储数据时,redis存放数据是接纳:键值对方式存储的。系统会对键接纳一 种CRC16算法,将键转换成一个数值,然后系统用这个数值取模16384,会得到一个介于0~16383之间的值, 系统会判断这个值对应的哈希槽在哪一台主机上,就会自动切换到主机
  
  这些哈希槽范围是: 0~16383
          假设有三台主机:
                  第一台主机: 0 ~ 5000
                  第二台主机: 5001 ~ 10000
                  第三台主机: 10001~16383
  十二、哨兵机制

   Redis的哨兵机制是一种用于监控和自动故障转移的特性。它由一组称为哨兵(sentinel)的历程组成,这些哨兵历程负责监控Redis主服务器以及其相关的从服务器。
  当主服务器出现故障时,哨兵会自动发现并将其中一个从服务器提升为新的主服务器,以确保服务的连续可用性。哨兵还能够监控Redis实例的健康状况,并在必要时实行故障转移操作。
  哨兵机制的主要特点包罗:
    使用哨兵机制可以让Redis实例具有更高的可用性和冗余性,当主服务器出现故障时能够快速进行故障转移,确保服务的连续可用性。
​​​​​​​  

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4