Redis从入门到实战(一、Redis简介)

⭐ 作者简介:码上言


⭐ 代表教程:Spring Boot + vue-element 开发个人博客项目实战教程


⭐专栏内容:Redis从入门到实战、个人博客系统

文章目录

    • 1、NoSQL
      • 1.1、什么是NoSQL?
      • 1.2、NoSQL 特点
      • 1.3、分类

在学习redis之前,我们先学习一下NoSQL。

1、NoSQL

1.1、什么是NoSQL?

NoSQL概念在2009年被提了出来。NoSQL最常见的解释是“non-relational”,“Not Only SQL”也被很多人接受(“NoSQL”一词最早于1998年被用于一个轻量级的关系数据库的名字)。NoSQL被我们用得最多的当数key-value存储,当然还有其他的文档型的、列存储、图型数据库、xml数据库等。

很多的数据类型用户的个人信息,社交网络,地理位置。这些数据类型的存储不需要一个固定的格式! 不需要多月的操作就可以横向扩展的 ! Map使用键值对来控制!

1.2、NoSQL 特点

  • 易扩展

NoSQL 数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。

数据之间无关系,这样就非常容易扩展,也无形之间,在架构的层面上带来了可扩展的能力。

  • 大数据量高性能

NoSQL数据库都具有非常高的读写性能,尤其是在大数据量下,同样表现优秀。这得益于它的非关系 性,数据库的结构简单。

一般MySQL使用Query Cache,每次表的更新Cache就失效,是一种大力度的Cache,在针对Web2.0的 交互频繁应用,Cache性能不高,而NoSQL的Cache是记录级的,是一种细粒度的Cache,所以NoSQL 在这个层面上来说就要性能高很多了。

官方记录:Redis 一秒可以写8万次,读11万次!

  • 多样灵活的数据模型

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

1.3、分类

分类 例子 应用场景 数据结构 优点 缺点
键值(key - value) Tokyo Cabinet/Tyrant,Redis,Oracle 内存缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。 key指向value的键值对,通常用hash table来实现 查找速度快 数据无结构化,通常只被当作字符串或者二进制数。
列存储数据库 Cassandra,HBase,Riak 分布式的文件系统 以列簇式存储,将同一列数据存在一起 查找速度快,可扩展性强,更容易进行分布式扩展。 功能相对局限
文档型数据库 CouchDB,MongoDb Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容) Key-Value对应的键值对,Value为结构化数据 数据结构要求不严格,表结构可变,不需要想关系型数据库一样需要预先定义表结构 查询性能不高,而且缺乏统一的查询语法。
图形数据库 Neo4J,InfoGrid,Graph 社交网络,推荐系统等,专注于构建关系图谱 图结构 利用图结构相关算法。比如最短路径寻址,N度关系查找。 这种结构不太好做分布式的集群方案

你可能感兴趣的:(redis,数据库,缓存)