NOSQL非关系型数据库之Redis介绍与数据类型(一)

NOSQL概述

  1. 什么是NOSQL
    • 概念
        NOSQL:Not Only SQL 不仅仅是SQL,通常指的是非关系型的数据库。MySQL和Oracle都是属性关系型数据库。
特点 关系型数据库 非关系型数据库
存储介质 以文件的方式保存在硬盘中 通常只存储在内存中,服务器关闭数据会部分或全部丢失
优点 数据库可以永久保存 存取速度非常快
缺点 1)数据添加有校验的过程
2)查询速度慢
3)DML的操作需要使用到事务
以上这些限制会导致速度很慢
数据不能及时保存,可能会导致数据丢失

  • 非关系性数据库存储什么样的数据
    数据是放在内存中,主要的目的是为了提高查询的速度,放在 redis 中的数据是经常要查询的数据,而且它是第二份,第一份数据还是放在 mysql 数据库中,相当于一个缓存。
  • 为什么需要NOSQL
    随着互联网的高速崛起,网站的用户群的增加,访问量的上升,传统数据库上都开始出现了性能瓶颈,web
    程序不再仅仅专注在功能上,同时也在追求性能。所以 NOSQL 数据库应运而上,具体表现为对如下三高问题的
    解决:
    1. High Performance - 对数据库高并发读写的需求,在同一个时间点,同时有海量的用户并发访问。
    2. Huge Storage - 对海量数据的高效率存储和访问的需求,数据库中数据量特别大,数据库表中每天产生海量的数据。
    3. High Scalability && High Availability- 高可扩展性和高可用性的需求
  1. 主流的 NOSQL 产品
    • Redis 是一个开源的使用 C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并
      提供多种语言的 API。
    • CouchDB 是一个开源的面向文档的数据库管理系统,具有高度可伸缩性,提供了高可用性和高可靠性,
    • CouchDB 是一个 Apache Software Foundation 开源项目。
    • MongoDB 是一个基于分布式文件存储的数据库。由 C++语言编写。旨在为 WEB 应用提供可扩展的高性能数
      据存储解决方案。是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

Redis

  • 官方提供了Linux版的Redis下载
  • Window 版的 Redis下载
  • window 版的安装及其简单,解压 Redis 压缩包完成即安装完毕
    安装注意事项
    1. 安装目录不要出现中文
    2. 目录不要太深
    3. Redis 所在的硬盘空间大于 20G,会在目录产生一个 8G 大小文件。
  • Redis 的目录文件
    在这里插入图片描述
  • 启动和停止
  1. 启动redis:

    • 启动Redis数据库服务器:进入安装目录,双击redis-serve.exe文件启动
    • 启动Redis客户端:进入安装目录,双击redis-cli.exe文件启动,就可以编写 命令操作数据:进行增删改查操作。
  2. 停止redis:
    直接关闭窗口即可

  • Redis五种数据类型及结构
    Redis五种数据类型和结构
  • string类型操作命令
    • 字符串类型是Redis中最为基础的数据存储类型,在Redis中以二进制保存,没有编码和解码的过程。
      在这里插入图片描述
  • hash类型操作命令
    • hash类型可以看成具有String的键和String的值Map容器,每一个Hash可以存储40亿个键值对
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
  • 注意

hash类型底层结构对应java的HashMap类型

  • list类型操作命令
    • List类型是按照插入顺序排序的字符串链表,和数据结构中的普通链表一样,List中可以包含元素数量是40亿个
    • 在这里插入图片描述
      在这里插入图片描述
  • 注意

1.list数据类型的特点:有序可重复
2.list类型底层结构对应java的ArrayList

  • set类型操作命令
    • 可以将Set类型看作为没有排序的字符集合,和List类型一样
    • 可包含的最大元素数量是40亿,和List类型不同是,Set集合中不允许出现重复的元素
      在这里插入图片描述
      在这里插入图片描述
  • 注意
  1. set数据类型的特点:无序且不能重复
  2. set类型底层结构对应java的哪种类型:HashSet
  • zset类型操作命令
    • Redis 有序集合和集合一样也是无序不可以重复。不同的是每个元素都会关联一个分数。

    • redis正是通过分数来为集合中的成员进行从小到大的排序。

    • ​有序集合的成员是唯一的,但分数(score)却可以重复,每个集合可存储40多亿个成员。
      在这里插入图片描述

在这里插入图片描述

  • redis通用命令
  1. 查看当前数据库的所有键的命令:keys *
  2. 删除键的命令:del 键 键
  3. 判断键是否存在的命令:exists 键
  4. 判断指定键的类型名:type 键
  5. 切换数据库的命令:select 数据库序号

转载需注明来处。如有侵权请联系删除1


  1. 小白 ↩︎

发布了3 篇原创文章 · 获赞 0 · 访问量 102

猜你喜欢

转载自blog.csdn.net/xiannbi/article/details/104436543
今日推荐