Redis学习笔记(一)---Redis的简介

前言

Redis的简介:
1.Redis是完全开源免费的,遵守BSD协议。是一个高性能(NOSQL)的key-value数据库。

2.Redis是一个开源的使用ANSI C语言编写,支持网络,可基于内存亦可持久化的日志型,key-value数据库

补充:1)什么是BSD协议?
BSD是"Berkeley Software Distribution"的缩写,意思是“伯克利软件发行版”。这种开源协议能给使用者很大的自由
2)NOSQL:表示的是非关系型数据库,它是为了解决大规模数据集合多重数据种类带来挑战,尤其是大数据应用的难题。
3)NOSQL的数据库分为四类:
【1】键值(Key-Value)的存储数据库:这一类数据库主要会使用到一个哈希表。如:Redis, Oracle BDB
【2】列存储数据库: 这部分数据库通常是用来应对分布式存储的海量数据,键仍然存在,但是他们的特点是指向多个列。这些列是有列家族来安排的。如:Cassandra, HBase, Riak
【3】文档类型数据库:它可以看作是键值数据库的升级版,允许之间嵌套键值,而且文档数据库比键值数据库的查询效率更高,但唯一有一点不足的是它没有键值数据库那么多的数据类型。如:MongoDb
【4】图形(Graph) 数据库:它使用了灵活的图形模型,如:Neo4J
4) Redis与其他key-value缓存产品有以下三个特点:
【1】Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
【2】Redis不仅仅支持简单的 key-value类型的数据,同时还提供 list,set, zset, hash等数据结构的存储
【3】Redis支持数据的备份集群等高可用功能
5)NOSQL(非关系型数据库)和SQL(关系型数据库)的区别:
NOSQL:数据与数据之间没有关联关系
SQL:表与表之间建立关联关系

3.NOSQL数据库适用的场景:
【1】数据模型比较简单
【2】需要灵活性更强的IT系统
【3】对数据库性能要求比较高
【4】不需要高度数据一致性
【5】对于给定key,比较容易映射复杂值的环境

4.Redis的优缺点:
优点:
【1】丰富的数据结构
【2】高速读写,redis使用自己实现的分离器,代码量很短,没有使用lock(如:MySql),因此效率非常高
缺点:
【1】持久化:Redis直接将数据存储到内存中,要将数据保存到磁盘上。Redis可以使用两种方式实现持久化的过程,定时快照(snapshot):每个一段时间将整个数据库写到磁盘盘上,每次均是写全部的数据,代价非常高。第二种方式基于语句追加(aof):只追踪变化的数据,但是追加的log可能过大,同时所有的操作均重新执行一遍,回复速度慢
【2】耗内存,占用内存高。

5.Redis的总结:
【1】redis单个key可存入512M大小
【2】redis支持多种类型的数据结构(string, list, hash. set, zset)
【3】redis是单线程的,操作是原子性的
【4】redis可以持久化,因为使用了RDB和AOF机制
【5】redis支持集群,而且redis支持库(0~15)16个库
【6】redis可以做消息队列,比如聊天室
Tips: 在企业集开发中,可以用做数据库,缓存(热点数据——经常被查询,但是不经常被修改或者删除的数据)和中间件等大部分功能。

你可能感兴趣的:(Redis)