redis 第1章 前言 redis 第1章 前言

2021-06-10

一、什么是 redis

  • Redis是一个非关系型远程内存数据库,由于操作都在内存中,所以Redis的速度非常快,性能十分强劲。

  • 它可以存储键和5种不同类型的值之间的映射。可以帮助用户解决各式各样的问题,直接将数据自然的映射到这5种数据结构。

  • 通过复制、持久化和客户端分片功能,可以将Redis拓展成为一个包含数百GB的数据库,除非非常高的并发量。(其中:复制特性可以拓展读性能;客户端分片可以拓展写性能。)

  • 同时,Redis还可以自动的以两种不同的方式将数据库内容持久化到硬盘,保证数据的完整性。

二、对比3种较为常用的数据库

①、Redis

  • 数据库类型: 使用内存存储数据的非关系型数据库。

  • 数据格式: 支持字符串、列表、集合、散列、有序集合数据类型。

  • 查询类型: 每种数据类型都有属于自己的命令,拥有批量操作命令,部分事务支持

  • 附加功能: 主从复制、持久化、脚本(存储过程)

②、memcached

  • 数据库类型: 内存型键值对缓存数据库

  • 数据格式: 键值之间的映射

  • 查询类型: 创建、读取、更新、删除命令,外加几个其他命令

  • 附加功能: 为提升性能而存在的多线程服务器

③、Mysql

  • 数据库类型: 普通关系型数据库

  • 数据格式: 一个库包含多个表,每个表包含多个行,多表处理

  • 查询类型: 基础的SQL查询,函数,存储过程

  • 附加功能: 支持ACID(Innodb),主从复制 + 主主复制

三、reids 的5种数据结构

①、string(字符串):不可重复

[
    "lulubin1":"90",
    "lulubin2":"100",
    "lulubin3":"90"
]

https://file.lulublog.cn/images/3/2022/08/Rqn46Zg34g5jMo64lmyS5kDL65zcN3.png

②、list(列表):可重复

[
    "user":[
        "lulubin1",
        "lulubin2",
        "lulubin1"
    ]
]

https://file.lulublog.cn/images/3/2022/08/JtYaA02x7pfCF4IxO6hOaF09t6YjIo.png

③、set(集合):不可重复

[
    "user":[
        "lulubin1",
        "lulubin2",
        "lulubin3"
    ]
]

④、zset(有序集合):不可重复,且value只能是数字

[
    "user":[
        "lulubin1":90,
        "lulubin2":100,
        "lulubin3":90
    ]
]

https://file.lulublog.cn/images/3/2022/08/ufwbwwn7he7FVfRgJRfgFmFm7NnUeF.png

⑤、hash(散列):不可重复,value任意类型

[
    "user":[
        "lulubin1":"90",
        "lulubin2":"100",
        "lulubin3":"90"
    ]
]
阅读 834