首先介绍一下Redis,Redis是一个高性能的Key-value数据库,它属于NoSQL数据库。
关于NoSQL数据库我们在这里也做一下简单的介绍,数据库分为关系型数据库比如MySQL和非关系型数据库如今天我们说道的Redis数据库,和新式的数据库(结合两种数据库衍生出来的新式数据库),他们两个的区别在这里我们先不做详细解释,这里只是简单的介绍一下吧:
对于NoSQL数据库他是全称(not only sql),它的特点是:
- 不支持SQL语法
- 存储结构跟传统的关系型数据库中的那种关系表完全不同,nosql中存储的数据都是key-value形式的
- NoSQL的世界没有一种通用的语言,每种nosql数据库都有自己的api和语法,以及擅长的业务场景
- NoSQL中的产品种类相当多: Mongodb Redis Hbase hadoop Cassandra hadoop 等
两种数据课的使用场景不同,sql数据库适用于关系特别复杂的数据查询场景,nosql反之
‘事务’特性的支持:sql对事物的支持非常完善,而nosql基本不支持事务
下面我们来说一下关于Redis的介绍:
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、key-value数据库,并且提供多种语言的API。
Redis是NoSQL技术阵营中的一员,它通过多种键值对数据类型来适应不同的场景下的存储需求,借助一些高层级的借口使用其可以胜任,如 缓存、队列系统的不同角色。
Redis特性:
Redis与其他key-value缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-redis类型的数据,同事还提供了list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
Redis优势
- 性能极高 Redis能读的速度是110000次每秒,写的速度是81000次每秒。
- 丰富的数据类型 Redis支持二进制案例的 String,List,Hashes,Sers(无序集合)及Ordered Sers(有序集合)数据类型的操作。
- 原子 Redis的所有操作都是原子性的,同时Redis还支持对集合操作合并后的原子性的执行。
丰富的特性 Redis还支持publis/subscribe(订阅发布模式、一种一对多的依赖关系),通知,key过期等特性。
Redis应用场景
- 用来作缓存(ehcache/memcached) redis的所有数据是放在内存中的
- 可以在某些特定的应用场景下替换传统的数据库 比如社交类的应用
- 在一些大型系统中,巧妙地实现一些特定的功能:四五十四年共享。购物车等