Redis——基础概念


一、NoSQL 概述

1. 为什么用NoSQL

  • 单机 MySQL 的年代
  • Memcached(缓存)+ MySQL + 垂直拆分(读写分离)
  • 分库分表 + 水平拆分 + MySQL集群
  • 如今最近的年代
    • MySQL等关系型数据库不够用,数据量大,变化快
      在这里插入图片描述

为什么要用 NoSQL
用户的个人信息,社交网络,地理位置。用户自己产生的数据,用户日志等等爆发式增长。
这时候我们就需要使用NoSQL数据库,它可以很好的处理以上情况。

2. 什么是 NoSQL

NoSQL = Not Only SQL

  • 泛指非关系型数据库。传统关系型数据库很难对付web2.0时代。尤其是大规模的高并发社区。

3. NoSQL 特点

  • 方便扩展(数据之间没有关系,很好扩展)
  • 大数据量高性能(NoSQL的缓存是记录级的,细粒度的缓存,性能高)
  • 数据类型是多样型的(不需要事先设计数据库,随取随用)
  • 传统关系型数据库(RDBMS)和NoSQL

传统的RDBMS
结构化组织;
SQL;
数据和关系都存在单独的表中;
严格的一致性;
基础的事务

NoSQL
不仅仅是数据
没有固定的查询语言
键值对存储,列存储,文档存储,图形数据库
最终一致性
CAP定理 和 BASE (异地多活)
高性能,高可用,高可扩展

4. NoSQL 的四大分类

  • KV键值对
    • Redis
  • 文档型数据库(bson 格式)
    • MongoDB(是一个基于分布式文件存储的数据库,用来处理大量的文档)
  • 列存储数据库
    • HBase
  • 图关系数据库
    • 存的不是图形,是关系
    • Neo4j

二、Redis 概述

1. 什么是 Redis

  • Redis(Remote Dictionary Server),远程字典服务
  • 当下最热门的NoSQL技术之一,也被称为结构化数据库;

2. Redis 用途

  • 内存存储、持久化;
  • 效率高,用于高速缓存;
  • 发布订阅系统;
  • 地图信息分析;
  • 计时器、计数器(浏览量)

三、Redis 安装

官网:https://redis.io/
(注意:Windows系统的需要在github上下载,因为Redis推荐在Linux上搭建)
【下面介绍在Windows下安装的步骤】

下载安装包
链接:https://pan.baidu.com/s/1h5pwR64SvjCz2_6JRNDGJw
提取码:yt9h

  • 解压后的安装包
    在这里插入图片描述
  • 打开命令窗口,切换目录到当前文件夹下,然后输入以下命令
    redis-server redis.windows.conf
    默认端口是:6379
    在这里插入图片描述
  • 不要关闭上一个窗口,双击打开 redis-cli.exe
    在这里插入图片描述
    输入下面内容进行测试
    在这里插入图片描述

四、Redis 基础知识

  • redis 默认有16个数据库,默认使用的是第0个;
  • redis 是单线程的,是基于内存操作的;
  • redis 的性能瓶颈不是CPU,而是机器的内存和网络带宽;
  • redis 为什么单线程还这么快
    • 高性能的服务器不一定时多线程的;
    • 多线程涉及CPU上下文切换;
    • 核心:redis 是将所有的数据都放在内存中的,所以使用单线程操作效率最高。多线程会有CPU上下文切换耗时。对于内存来说,如果没有上下文切换效率就是最高的。多次读写在一个CPU上的,在内存情况下,这个方案是最佳的。

五、Redis 五种基本数据类型

Redis 不区分大小写命令

1. String 字符串类型

在这里插入图片描述
在这里插入图片描述

2. List 列表类型

  • 在redis里,可以使用List来表示 栈、队列、阻塞队列;
  • List 中的命令,以 L 开头的代表左操作,以 R 开头的代表右操作;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. Set 集合类型

  • Set 中的所有命令都是以 S 开头的;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. Hash 哈希类型

  • Map集合,key-map;
  • 这个值是一个Map集合,本质和String类型没有太大的区别,还是一个简单的key-value;

在这里插入图片描述

5. Zset 有序集合类型

  • 在 set 基础上,增加了一个值;
  • set k1 v1 zset k1 score1 v1

在这里插入图片描述
在这里插入图片描述

六、Redis 三种特殊数据类型

1. Geospatial 地理位置详情

  • 朋友的定位,附近的人,打车距离计算;
  • getpos:获得当前定位:一定是一个坐标值
    在这里插入图片描述
  • geodist:两人之间的距离
    在这里插入图片描述
  • georadius:获得附近的人(通过半径来查询)
    在这里插入图片描述

2. Hyperloglog 基数统计

3. Bitmap 位图场景操作

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值