1、Redis 是什么?
通常而言目前的数据库分类有几种,包括 SQL/NOSQL,,关系数据库,键值数据库等等,分类的标准也不以,Redis本质上也是一种键值数据库的,但它在保持键值数据库简单快捷特点的同时,又吸收了部分关系数据库的优点。从而使它的位置处于关系数据库和键值数 据库之间。Redis不仅能保存Strings类型的数据,还能保存Lists类型(有序)和Sets类型(无序)的数据,而且还能完成排序(SORT) 等高级功能,在实现INCR,SETNX等功能的时候,保证了其操作的原子性,除此以外,还支持主从复制等功能。
2、Redis用来做什么?
通常局限点来说,Redis也以消息队列的形式存在,作为内嵌的List存在,满足实时的高并发需求。而通常在一个电商类型的数据处理过程之中,有关商品,热销,推荐排序的队列,通常存放在Redis之中,期间也包扩Storm对于Redis列表的读取和更新。
3、Redis的优点?
3.1.性能极高 – Redis能支持超过 100K+ 每秒的读写频率。
3.2.丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
3.3.原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
3.4.丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
4、Redis的缺点?
是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。
- Redis持久化
5.1、RDB持久化:
该机制是指在制定的时间间隔内将内存中的数据集快照写入磁盘。
优点:1.只有一份rdb文件,可随时备份
2.比AOF文件小,加载效率高
3.只提供fork子进程,不阻塞主进程,IO操作比较少
5.2、AOF持久化:
该机制将以日志的形式记录服务器所处理的每一个写操作,在Redis服务器启动之初会读取该文件来重新构建数据库,以保证启动后数据库中的数据是完整的。
优点:1.每次改动同步数据安全性好
2.APPEND方式追加日志,不会对旧日志文件产生影响
5.3、无持久化
我们可以通过配置的方式禁用Redis服务器的持久化功能,这样我们就可以将Redis视为一个功能加强版的memcached了
5.4、同时应用AOF和RDB
6、Redis集群
群指的是将几台服务器集中在一起,实现同一业务
-
-
- 目的:高可用、负载均衡、易扩展、数据安全、性能提升
- 技术:集群地址(虚拟IP)、网络通信(监控消息)
- 功能:负载均衡、读写分离、故障转移
-