首页 > 其他 > 详细

Redis总结

时间:2020-04-01 15:51:53      阅读:54      评论:0      收藏:0      [点我收藏+]

技术分享图片

Redis总结

 (1)Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value分布式内存数据库,基于内存运行,并支持持久化的nosql数据库,也被称为数据结构服务器。redis支持 异步将内存中的数据写到硬盘上,同时不影响继续服务。功能:发布、订阅消息系统,定时器、计数器。

(2)Redis的三个特点:

      Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
      Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
      Redis支持数据的备份,即master-slave模式的数据备份。
(3)Redis的数据类型:

       String(字符串)string 是 redis 最基本的数据类型,string 类型是二进制安全的,意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对  象。string 类型的值最大能存储 512MB。
       Hash(哈希)Redis hash 是一个键值(key=>value)对集合。Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。场景:存储、读取、修改 用户属性。
       List(列表)Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。它的底层实际是个链表。场景:1,最新消息排行等功能(比如朋友圈的时间线) 2,消息队列。
      Set(集合)Redis 的 Set 是 string 类型的无序集合。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。(sadd 命令 添加一个 string 元素到 key 对应的 set 集合中,成功返回 1,如果元素已经在集合中返回 0。)为集合提供了求交集、并集、差集等操作。
      zset(sorted set:有序集合) Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。场景:1、排行榜 2、带权重的消息队列。

(4)Redis持久化机制:RDB和AOF(两者结合使用效果更好)
         RDB是把数据以快照的形式保存在磁盘上。RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,也是默认的持久化方式,这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。
         RDB的触发机制:save(执行save命令期间,Redis不能处理其他命令,同步)、bgsave(基本上 Redis 内部所有的RDB操作都是采用 bgsave 命令,异步)、自动化(自动触发是由我们的配置文件来完成的)
        RDB的优势和劣势:①、优势(1)RDB文件非常适合用于进行备份和灾难恢复。(2)生成RDB文件的时候,redis主进程会fork()一个子进程来处理所有保存工作,主进程不需要进行任何磁盘IO操作。(3)RDB 在恢复大数据集时的速度比 AOF 的恢复速度要快
②、劣势 在快照持久化期间修改的数据不会被保存,可能丢失数据。
        AOF机制:redis会将每一个收到的写命令都通过write函数追加到文件中,也就是日志记录。原理:每当有一个写命令过来时,就直接保存在AOF文件中。文件重写原理:为了压缩aof的持久化文件,redis提供了bgrewriteaof命令。将内存中的数据以命令的方式保存到临时文件中,同时会fork出一条新进程来将文件重写。
        AOF的触发机制:(1)每修改同步always:同步持久化 每次发生数据变更会被立即记录到磁盘,性能较差但数据完整性比较好(2)每秒同步everysec:异步操作,每秒记录 如果一秒内宕机,有数据丢失(3)不同no:从不同步
        AOF的优势和劣势:①、优势(1)AOF可以更好的保护数据不丢失。(2)AOF日志文件,写入性能非常高,文件不容易破损。(3)AOF日志文件即使过大的时候,出现后台重写操作,也不会影响客户端的读写。(4)AOF日志文件的命令通过非常可读的方式进行记录,非常适合做灾难性的误删除的紧急恢复。
②、劣势(1)对于同一份数据来说,AOF日志文件通常比RDB数据快照文件更大。(2)AOF开启后,支持的写QPS会比RDB支持的写QPS低

(5)Redis的过期策略
         定时删除:在设置key的过期时间的同时,创建一个定时器(timer),让定时器在key的过期时间来临时,立即执行对key的删除操作。 惰性删除 定期删除

Redis总结

原文:https://www.cnblogs.com/lixinrui/p/12612612.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!