Redis简介

1. NoSQL

NoSQL(not only sql)仅仅是一个概念,泛指非关系型的数据库,区别于关系型数据库,用于超大规模数据的存储

NoSQL不支持SQL语法,在NoSQL的世界中没有一种通用的语言,每种NoSQL数据库都有自己的api和语法,以及擅长的业务场景;NoSQL数据库的种类很多,常用的有:

RedisMongodbHbase hadoopCassandra hadoop

2. NoSQL 和SQL数据库的区别

NoSQL与SQL数据库的区别:

适用场景不同:SQL数据库适用于关系特别复杂的数据查询场景,NoSQL适用于没有复杂关系的场景对事务特性的支持:SQL对事务的支持非常完善,而NoSQL基本不支持事务

3. Redis

Redis(REmote DIctionary Server)是一个开源的使用ANSI C语言编写、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的API

Redis是一个跨平台的非关系型数据库,它通过多种键值数据类型来适应不同场景下的存储需求,借助一些高层级的接口使用其可以胜任如缓存、队列系统的不同角色

4. Redis特性

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

5. Redis优势

Redis的优势有:

性能极高:因为Redis的数据存储在内存中,所以它的读写速度非常快,读的速度110000次/s,写的速度81000次/s丰富的数据类型:string,hash,list,set及zset(sorted set:有序集合)原子性:Redis的所有操作都是原子性的丰富的特性:Redis支持publish/subscribe、通知、key过期等特性

6. Redis应用场景

Redis的应用场景:

缓存(ehcache/memcached):Redis的所有数据都是放在内存中(内存数据库)的可以在某些特定场景下替代传统数据库:如社交类的应用在一些大型系统中,实现一些特定的功能:session共享、购物车