码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Redis1:Redis介绍、Redis基本特性、关系型数据库、非关系型数据库、数据库发展阶段


    这里写自定义目录标题

    • Redis介绍
    • 关系型数据库
      • 关系型数据库的特点
      • 关系型数据库的不足
    • 非关系型数据库
      • 非关系型数据库特点
      • NoSQL的类型
    • 数据库发展阶段
    • Redis基本特性

    Redis介绍

    Remote Dictionary Service:翻译过来就是远程字典服务,简称redis。

    为什么使用redis,需要先弄明白关系型数据库和非关系型数据库的区别,也就是SQL和NoSQL的区别和使用场景。

    数据库设计的酸(ACID)碱(BASE)原则

    关系型数据库

    俗称的SQL数据库,主流的MySQL、Oracle。

    关系型数据库的特点

    1. 基于行存储数据,二维的模式(用表格的方式存储,有行有列)
    2. 存储结构化的数据,数据存储有固定的模式(schema)
    3. 表与表之间存在关联(Relationship)
    4. 大都支持SQL(结构化查询语言)的操作,支持复杂的关联查询
    5. 通过支持事务ACID(酸)来提供严格或者实时的数据一致性

    关系型数据库的不足

    1. 要实现扩容难,只能向上(垂直)扩展,不支持动态的扩缩容,如果要实现水平扩容的话,需要引进一些复杂的技术,比如分库分表
    2. 表结构修改困难,因此存储的数据格式也受到限制
    3. 高并发情况下,基于磁盘的读写压力比较大

    非关系型数据库

    non relational,或者NoSQL,主流的Redis、MongoDB。
    开始的时候,之所以叫NoSQL,刚开始是因为它不支持结构化查询语言(SQL)的操作,后来演变成not only SQL,不仅仅是SQL。

    非关系型数据库特点

    1. 存储非结构化的数据,比如文本、图片、音频、视频
    2. 表与表之间没有关联,可扩展性强
    3. 保证数据的最终一致性,遵循BASE(碱)理论
    4. 支持海量数据的存储和高并发的高效读写
    5. 支持分布式,能够对数据进行分片存储,扩缩容简单

    NoSQL的类型

    1. KV存储:Redis和Memcached
    2. 文档存储:MongoDB
    3. 列存储:HBase
    4. 图存储:Neo4j
    5. 对象存储
    6. XML存储
    7. ······

    数据库发展阶段

    特性SQLNoSQLNewSQL(比如TiDB)
    关系模型√×√
    SQL语法√×√
    ACID√×√
    水平扩展×√√
    海量数据×√√
    无结构化×√√

    Redis基本特性

    1. 速度快,放在了内存当中
    2. 支持多种数据类型(Memcached只支持KV)
    3. 支持多种编程语言
    4. 持久化、内存淘汰(Memcached没有持久化的机制)
    5. 功能丰富:事务、发布订阅、pipeline、lua
    6. 集群、分布式(Memcached不支持集群的主从设置,Memcached设计是多线程的)
  • 相关阅读:
    Python实现九九乘法表的几种方式,入门必备案例~超级简单~
    GitLab 配置优化
    【批处理DOS-CMD命令-汇总和小结】-输出/显示命令——echo
    为什么你的自媒体账号涨粉很慢?
    技术人必读的「CDP选型指南」来了!
    AI大预言模型——ChatGPT在地学、GIS、气象、农业、生态、环境等应用
    MySQL中Date、DateTime、TimeStamp和Time用法
    Django官网项目
    ImageViewer技术实现细节
    报错解决:pandas的依赖项openpyxl
  • 原文地址:https://blog.csdn.net/qq_41929714/article/details/126056776
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号