Redis教程

Redis

本文主要是介绍Redis,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Redis的应用场景?

 

2. Redis持久化数据和缓存怎么做扩容?

  如果Redis只做缓存使用时,可以使用一致性hash实现动态扩缩容.

3.Redis的过期键的删除策略?

  (1)定期删除,每个设置过期时间的key,都需要设置一个定时器,当key过期是立即删除.对内存很友好,但是会大量消耗CPU处理过期key,影响缓存的响应时间和吞吐量(空间换时间)

  (2)惰性删除 当访问某key,判断是否过期,过期就再删除.该策略对内存不友好,当大片key过期后没及时删除,缺占用了大量内存

  (3)定时删除 多长时间内删除过期数据

4,Redis key的过期时间和永久有效分别怎么设置?

  expire和persist命令

5,MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据?

  Redis数据集大小升到一定数量时,就会实行淘汰策略.

6,Redis的内存淘汰策略有哪些?

  expire 1,淘汰快过期的. 2淘汰最近使用最少的.  4 不淘汰 5,随机移除某个key

  内存淘汰策略不影响过期key的处理,淘汰策略用于内存不足时,需要申请额外的数据.过期删除策略由于处理过期数据.

7,哨兵模式

  集群监控 :sentinel负责监控master和slave服务是否正常运行

  消息通知 :如何某个Redis发生故障,sentinel会发送消息,作为警报通知管理员

  故障转移 : 当master 的node发生故障时,会转移到slave node上   

  配置中心 :当master发生故障,会通知client新的master地址

8,redis 主从复制的核心原理

  1,当主库和从库建立连接后,主库后台生成RDB文件

  2,此时新的写命名将缓存到内存中

  3,当RDB文件完成后,master将RDB文件和所有缓存的写命令发送给slave

  4,slave接受到RDB文件,将文件保存到本地磁盘,再从磁盘中读取数据,并执行收到的缓存命令

  5,之后,master收到写命令就会将命令发送给slaveRedis中,从而保证了数据一致性

  缺点,所有的slave数据同步和复制都是master节点操作的,会造成master节点压力太大,解决方案使用从从复制.

Redis的问题

9,Redis实现分布式锁?

  redis是单进程单线程模式的,采用列队模式将并发访问变成串行访问,Redis可以使用setNX命令实现分布式锁

  当且key不存在,将key的值设成value,若给定的key存在,setNX不做任何动作

  SETNX是(set if not exists)如果不存在,则set的简写.

  返回值,设置成功返回1,失败返回0

10,如何解决 Redis 的并发竞争 Key 问题?

 

这篇关于Redis的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!