redis知识点总结对比

1.redis特性

 

1). 是一个速度非常快的非关系型数据库

2). 可以存储key与5种不同类型值的映射关系

3). 可以将键值数据持久化到硬盘中

4). 可以使用复制特性扩展读性能

5). 可以使用分片来扩展写性能

2.redis和其他产品的对比

3.redis的五种数据结构

4.redis持久化的两种手段

1) 快照方式(snapshotting ):

        方式一:指定时间段内有 指定数量的写操作执行( point-in-time dump 时间点转储)

        cmd: save 60 1000   //60s 内写入1000条数据则执行BGSAVE命令,如果设置了多个条件满足一个也会执行BGSAVE

        方式二:调用两条(dump-to-disk)命令执行

快照缺点:如果宕机,则距离上次快照数据持久化之后的数据会丢失,解决办法:使用日志对比分析丢失的数据(redis有提供日志帮助)

2)AOF方式(append-only File):

       设置追加(append-only)文件同步的频率,设置配置文件 appendonly  yes和相关参数,所有写操作都会记录在该文件中

AOF缺点:丢失数据的窗口可减少至一秒,但是会造成文件体积过大,虽可以压缩,但治标不治本

5.redis复制机制

redis配置文件中的dir,dbfilename对于任何redis都是可用的

主从复制,从从复制,当从机多是一个master撑不住时可以采用从从复制机制减轻master的压力

cmd:

SLAVEOF   ip(master)  port  //复制master数据

SLAVEOF   no one  //停止复制

主从复制的步骤:                                                                    从机复制master节点会清空自己原有的数据

6.一主多从,主机瘫痪后如何产生新的master

1).选择一台从机使用save命令产生,产生快照

2).新master目录放置快照文件,启动

3).从机重新指定主机SLAVEOF ip port

7.redis事务

redis会延迟执行Muti命令中的写语句,直到执行命令EXCE到达

8.redis高可用

redis常见问题

1.QPS太高?

答:采用一主多从结构,读写分离,由于主机宕机,从机晋升为主机或者另开一个主机

步骤: 停止从机的数据同步,选择一个从机导出快照,新主机开启时恢复快照数据,从机重新指定master

这个方式并不适合java项目中用,为什么?新master的ip和端口可能会变,java的配置就需要改,于是采用redis sentinel框架(哨兵模式)解决这个问题

2.redis缓存数据100G怎么处理?

单master一般16G左右,而且一般要求只能使用(35%-65%)左右的空间,100G大概需要10个redis的存储

思路: 10个master做分库,每个master都采用哨兵模式,key的hash做分库依据,key分布不均,新加/减少机器会导致key值重新分配(hash一致性算法解决),这么多问题很烦,别急,看看redis clutser框架,java项目连接redis cluster编程,支持多master分库,且使用hash一致型算法解决上述问题

9.redis sentinel 和 cluster对比

sentinel 只支持单master,能自动切换master, 一般配置三个哨兵,由其中的leader执行主从切换,哨兵中超过半数认为某redis失去连接则剔除,原理是通过ping命令探测

cluster 支持多master, cluster集群类似eureka去中心化的集群

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值