redis基础复习

1.什么是Redis
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。

Redis 优势
性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

Redis与其他key-value存储有什么不同?
Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:
1、 字符串类型
2、 散列类型 hash被(string和json)取代了
3、 列表类型
4、 集合类型
5、 有序集合类型。

在这里插入图片描述

2.redis的应用场景
l 缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用,变化不大)
l 聊天室的在线好友列表。
l 任务队列。(秒杀、抢购、12306等等)
l 应用排行榜。
l 网站访问统计。
l 数据过期处理(可以精确到毫秒)
l 分布式集群架构中的session分离。【第二个大型电商项目中使用】

3.Redis 持久化(RDB,AOF)
1.为什么要持久化:
Redis是内存数据库。他将自己的数据库存储状态存储在内存中,如果不想方法把数据库状态保存到磁盘中,一旦服务进程退出,服务器中的数据库状态也将消失不见。
2.解决方法:redis提供了RDB持久化功能,这个功能将redis内存中的数据库状态保存到磁盘中,避免数据意外丢失。
3.RDB持久化:
3.1保存 还原
RDB持久化功能产生一个RDB文件(经过压缩的二进制文件)可还原成数据库状态。
保存在硬盘里,存在即可还原。
3.2 RDB文件的创建与载入:
两个redis命令用于生成RDB文件:SAVE ,BGSAVE。(通过不同方式调用rdb.c/redbSave函数)
Save命令:会阻塞redis服务进程,直到RDB文件创建完成。服务器阻塞期间,服务器不能处理任何命令请求。

4.AOF持久化
4.1RDB持久化是通过保存数据库中的键值对来记录数据的状态不同,AOF持久化是通过保存redis服务器所执行的写命令来记录数据库状态的。

5.简单介绍AOF持久化和AOF文件与RDB持久化的区别.:
因为AOF文件的更新频率比RDB文件的更新频率高,所以:
5.1如果服务器开启了AOF持久化功能,那么服务器会优先使用AOF文件来还原数据库状态。
5.2只有在AOF持久化功能处于关闭状态的时候,服务器才会使用RDB文件来还原数据库状态。

72.
发布了5 篇原创文章 · 获赞 0 · 访问量 197

猜你喜欢

转载自blog.csdn.net/qq_45425934/article/details/104009491
今日推荐