Redis总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Redis总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3475字,纯文字阅读大概需要5分钟。
内容图文
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总结全部内容,希望文章能够帮你解决Redis总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。