Redis
补充概念:
NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题,包括超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。
Redis命令学习网页 http://redisdoc.com/
1.NoSQL数据库的四大分类及CAP
1.1 典型KV键值
新浪、美团、阿里、百度用的都是redis,并且搭配BerkeleyDB或tair或memcache一起使用
1.2 文档型数据库(bson)
MongoDB(分布式文件存储数据库,关系与非关系之间,是非关系型数据库当中功能最丰富的,最像关系数据库,支付)
CouchDB
1.3 列存储数据库
Cassandra,Hbase
1.4 图关系数据库
Neo4J,InfoGrid
1.5 CAP原理
consistency(强一致性)
Avaiability(可用性)
Partition tolerance(分区容错性)
CAP的核心理论是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个,即CA或CP或AP原则三大类
CA 是单点集群,满足一致性,可用性的系统,在可拓展性上一般不太强
CP 满足一致性和分区容错性,这样性能就不会很高
AP 满足可用性和分区容错性,这样对一致性要求低一些
2.redis是什么
2.1 Redis的全称是Remote DIctionary Server(远程字典服务器)
2.2 Redis是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行 并 支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,被称为数据结构服务器
2.3 Redis 与其他 key - value 缓存产品有以下三个特点:
2.3.1 Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
2.3.2 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
2.3.3 Redis支持数据的备份,即master-slave模式的数据备份
3.redis能应用的场景
大数据时代数据:海量Volume、多样Variety、实时Velocity
互联网在这里插入代码片
需求的三高:高并发、高可扩、高性能
场景:
1. 数据类型多样性
2. 数据源多样性和变化重构
3. 数据源改造儿数据源服务平台不需要大面积重构
4.redis的五大数据类型
- String(字符串)
- Hash(哈希,类似Java里的Map)
- List(列表)
- Set(集合)
- Zset(sorted set)有序集合
## 5.redis的安装
在如下网址下载所需的版本
https://download.redis.io/releases/
详见 redis知识梳理(2)