非关系型数据库Redis

Redis:Redis是一款开源的,高性能的key-value非关系型数据库软件。

  • 特点:支持数据持久化,可将数据持久化到硬盘,重启时可再次加载进行使用;丰富的数据结构存储类型,不仅支持string,还支持list、hash、set、zset;Redis支持数据的备份,即master-slave模式的数据备份;redis利用队列技术将并发访问变为串行访问,消除了传统数据库串行控制的开销
  • 使用Redis的优势:性能极高,Redis读的速度是110000次/s,写是81000次/s;丰富的数据类型:Redis支持二进制案例的string、list、hash、set、zset数据类型操作;原子操作,Redis每个操作都是原子性的,多个操作也支持事务,即原子性,通过使用multi和exec包含起来;丰富的特性,Redis还支持 publish/subscribe, 通知, key 过期等等特性。
  • 相比于memcahed而言Redis的优势:memcahed所存储的值均是简单的字符串,Redis支持更多的数据类型;Redis的速度要比memcahed块;Redis可以持久化数据,而memcahed不能,宕机之后数据会丢失。
  • Redis的数据淘汰机制(lru,random):
    • volatile-lru:从已设置过期时间的数据集中选择最近追少使用的数据集进行淘汰
    • volatile-ttl:从已设置过期时间的数据集中选择将要过期的数据集进行淘汰
    • volatile-random:从已设置过期时间的数据集中随机淘汰一个数据集
    • allkeys-lru:从所有数据集中选择最近最少使用的数据集进行淘汰
    • allkeys-random:从所有数据集中随机淘汰一个数据集
    • noeviction不做数据集的淘汰处理,当内存占用完后再添加数据集会报错
  • Redis的持久化机制方式:快照(RDB)、日志(AOF)
    • 快照:快照是一次全量备份,数据以二进制序列化方式进行存储,在存储上是紧凑存储的。触发机制分为自动触发和主动触发。

      • 主动触发:
        • save:会阻塞当前服务器,直到RDB完成为止,如果数据量大的话会造成长时间的阻塞。
        • bgsave:就是background save,执行bgsave命令时Redis主进程会fork一个子进程来完成RDB的过程,完成后自动结束(操作系统的多进程Copy On Write机制,简称COW)。所以Redis主进程阻塞时间只有fork阶段的那一下。相对于save,阻塞时间很短。
      • 自动触发:配置redis.conf,触发规则,自动执行;执行shutdown命令关闭服务器时,如果没有开启AOF持久化功能,那么会自动执行一次bgsave;主从同步(slave和master建立同步机制)。
      • 优点:只有一个文件dump.rdb,方便持久化;容灾性好,一个文件可以保存到安全的磁盘;性能最大化,fork子进程来完成写操作,让主进程继续处理命令,所以是IO最大化。使用单独子进程来进行持久化,主进程不会进行任何IO操作,保证了redis的高性能);相对于数据集大时,比AOF的启动效率更高。
      • 缺点:数据安全性低。RDB是间隔一段时间进行持久化,如果持久化之间redis发生故障,会发生数据丢失。所以这种方式更适合数据要求不严谨的时候。
    • AOF(Append-only file)持久化方式: 是指所有的命令行记录以redis命令请求协议的格式完全持久化存储,保存为aof文件。

      • 调用方式:AOF默认是关闭的,通过redis.conf配置文件进行开启
        • 主动触发:直接调用bgrewriteaof命令
        • 自动触发:根据auto-aof-rewrite-min-size和auto-aof-rewrite-percentage参数确定自动触发时机
      • 优点:AOF只是追加写日志文件,对服务器性能影响较小,速度比RDB要快,消耗的内存较少
      • 缺点:AOF文件比RDB文件大,且恢复速度慢;数据集大的时候,比rdb启动效率低。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值