Redis初始

一 redis“由来”

单机MySQL存储数据时代已经过去,现在的并发量SQL存储数据就出现了很多问题。现在的解决方案就是缓存+MySQL+垂直拆分/MySQL主从分离,但MySQL的优化瓶颈比较小。所以慢慢出现了很多缓存的中间件,这我们选择了redis进行了学习。各个中间件都有他优秀之处,通过这篇文章我们可以了解到,我将总结放这:

部署调用 持久 量级 分布式 共 享 数据类型 多线程
Redis 单独部署 支持 重量级 方便 方便 丰富 不支持
Memcache 单独部署 不支持 重量级 方便 方便 简单 支持
Ehcache 直接在jvm虚拟机中 支持 轻量级 不方便 复杂 简单 支持

还用很多其他中间件,根据自己的工作经验再进行慢慢添加.

二 Nosql的优点

(一)易扩展

NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。也无形之间,在架构的层面上带来了可扩展的能力。

(二)大数据量高性能

NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。一般MySQL使用Query Cache,每次表的更新Cache就失效,是一种大粒度的Cache,在针对web2.0的交互频繁的应用,Cache性能不高。而NoSQL的Cache是记录级的,是一种细粒度的Cache,所以NoSQL在这个层面上来说就要性能高很多了

(三)多样灵活的数据模型

NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系数据库里,增删字段是一件非常麻烦的事情。如果是非常大数据量的表,增加字段简直就是一个噩梦

(四)传统RDBMS VS NOSQL

RDBMS vs NoSQLRDBMS- 高度组织化结构化数据- 结构化查询语言(SQL)- 数据和关系都存储在单独的表中。- 数据操纵语言,数据定义语言- 严格的一致性- 基础事务NoSQL- 代表着不仅仅是SQL- 没有声明性查询语言- 没有预定义的模式-键 - 值对存储,列存储,文档存储,图形数据库- 最终一致性,而非ACID属性- 非结构化和不可预知的数据- CAP定理- 高性能,高可用性和可伸缩性。

下一步就开始下载操作学习一波,准备买一个云服务,把软件安装到上面,去哪都可以学习。

你可能感兴趣的:(Redis,redis,nosql,数据库)