您的位置:首页 > 数据库 > Redis

Redis数据库介绍(一)

2020-07-14 06:23 302 查看

Redis数据库介绍(一)

Redis是典型的是非关系型数据库,并且redis是开源,使用C语言编写的,支持网络、可基于内存也可持久化的日志型、key-value数据库,并且支持多种语言的api。

关系型数据库:MySQL、Oracle、Sql Server
非关系型数据库:Redis、Mangodb、Hbase hadoop、Cassandra hadoop

Redis的特性:

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

Master-slave模式即主仆模式,核心的思想就是将原始任务分解成若干个语义等同的子任务,并且由专门的工作者线程来并行执行这些任务,原始任务的结果是通过整合各个子任务的处理结果形成的。(并行计算、容错处理、计算精度)

Redis提供了两种持久化方式:
1、RDB:Redis DataBase,主要是生成rdb文件(rdb save)和从内存中加载文件(rdb load);
2、AOF:Append-only,每当执行服务器任务或者函数时,函数flushAppendOnlyFile都会被调用,这个函数主要完成aof写入和保存。

Redis的优势:

1、性能高,Redis能读的速度是110000次/s,写的速度是81000次/s;
2、丰富的数据类型,Redis支持string、list、hash、set、zset多种类型;
3、原子性,Redis的所有操作都是原子性的,同时还支持对几个操作合并后的原子性执行(原子性就没有多线程多进程资源竞争的问题);
4、Redis还支持key过期,publish,subscribe等特性

复习:事务的四大特性:原子性、一致性、隔离性、持久性

Redis的缺点

因为Redis是内存型的数据库,它的存储容量就与单台机器的内存大小有关,如果内存增加过快,需要定时清理数据,Redis是不支持多线程多进程的,所以单台服务器是不能充分利用多核cpu的。

Redis应用场景:

1、用来作缓存;
2、某些场合可以用来替代传统数据库,比如:发送微博动态时,先保存在redis数据库中先让自己看到,再存储到关系型数据库中;
3、大型的系统中实现session共享、购物车等。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: