redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库
**redis的官网:**redis.io
注:域名后缀io属于国家域名,是british Indian Ocean territory,即英属印度洋领地
1.丰富的数据结构 -----String,list,set,hash等数据结构的存储
2.支持持久化
3.支持事务 ---------------事务是指“一个完整的动作,要么全部执行,要么什么也没有做”。
4.支持主从
redis和memcache比较 1).Redis不仅仅支持简单的k/v类型的数据,同时还提供了list,set,zset,hash等数据结构的存储 2).Redis支持master-slave(主-从)模式应用 3).Redis支持数据的持久化
优点: - 高可扩展性 - 分布式计算 - 低成本 - 架构的灵活性 - 没有复杂的关系 缺点: - 没有标准化 - 有限的查询功能(到目前为止) - 最终一致是不直观的程序
缓存服务器作用: 加快访问速度 ,缓解关系型数据库的压力
1.首先了解一下 什么是关系型数据库? 关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。 id name age 优点: 1、易于维护:都是使用表结构,格式一致; 2、使用方便:SQL语言通用,可用于复杂查询; 3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。 缺点: 1、读写性能比较差,尤其是海量数据的高效率读写; 2、固定的表结构,灵活度稍欠; 3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈;
二 非关系型数据库
什么非关系型数据库呢?
非关系型数据是一种数据结构化存储方法的集合,可以是文档或者键值对等 优点: 1、格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。 2、速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘; 3、高扩展性; 4、成本低:nosql数据库部署简单,基本都是开源软件。 缺点: 1、不提供sql支持,学习和使用成本较高; 2、无事务处理; 3、数据结构相对复杂,复杂查询方面稍欠。