【Redis】Redis-NoSQL数据库简介

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 【1月更文挑战第18天】【Redis】Redis-NoSQL数据库简介

 目录

一、技术发展:

Web1.0时代:

Web2.0:

解决CPU及内存压力:

解决IO压力:

二、NoSQL数据库概述:

NoSQL适用场景:

NoSQL不适用场景:

行列式存储数据库:

1.行式数据库:

2.列式数据库:

图关系型数据库:

三、初识Redis:

应用场景:

配合关系型数据库做高速缓存:

多样的数据结构存储持久化数据:


一、技术发展:

Web1.0时代:

       Web1.0的时代,数据访问量很有限,用一夫当关的高性能的单点服务器可以解决大部分问题。

image.gif编辑

Web2.0时代:

       随着Web2.0的时代的到来,用户访问量大幅度提升,同时产生了大量的用户数据。加上后来的智能移动设备的普及,所有的互联网平台都面临了巨大的性能挑战。

image.gif编辑

解决CPU及内存压力:

image.gif编辑

解决IO压力:

image.gif编辑


二、NoSQL数据库概述:

       NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库

       NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。

    • 不遵循SQL标准。
    • 不支持ACID(事务特性)

           ACID,是指数据库管理系统DBMS)在写入或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(isolation,又称独立性)、持久性(durability)。

      • 远超于SQL的性能。

      NoSQL适用场景:

        • 对数据高并发的读写
        • 海量数据的读写
          • 对数据高可扩展性的

          NoSQL不适用场景:

            • 需要事务支持
            • 基于sql的结构化查询存储,处理复杂的关系,需要即席查询。
              • (用不着sql的和用了sql也不行的情况,请考虑用NoSql)

              行列式存储数据库:

              1.行式数据库:

              image.gif编辑

              2.列式数据库:

              image.gif编辑

              图关系型数据库:

              主要应用:社会关系,公共交通网络,地图及网络拓谱(n*(n-1)/2)

              image.gif编辑


              三、初识Redis:

              官网:Redis

                • Redis是一个开源的key-value存储系统。
                • 和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。
                  • 这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。
                  • 在此基础上,Redis支持各种不同方式的排序。
                    • 与memcached一样,为了保证效率,数据都是缓存在内存中。
                    • 区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。
                      • 并且在此基础上实现了master-slave(主从)同步。

                      image.gif编辑

                      应用场景:

                      配合关系型数据库做高速缓存:

                        • 高频次,热门访问的数据,降低数据库IO
                        • 分布式架构,做session共享

                        image.gif编辑

                        多样的数据结构存储持久化数据:

                        image.gif编辑

                        相关实践学习
                        基于Redis实现在线游戏积分排行榜
                        本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
                        云数据库 Redis 版使用教程
                        云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
                        相关文章
                        |
                        2月前
                        |
                        存储 NoSQL Redis
                        【Redis】利用Redis List实现数据库分页快速查询
                        【Redis】利用Redis List实现数据库分页快速查询
                        120 0
                        |
                        11天前
                        |
                        NoSQL MongoDB Redis
                        Python与NoSQL数据库(MongoDB、Redis等)面试问答
                        【4月更文挑战第16天】本文探讨了Python与NoSQL数据库(如MongoDB、Redis)在面试中的常见问题,包括连接与操作数据库、错误处理、高级特性和缓存策略。重点介绍了使用`pymongo`和`redis`库进行CRUD操作、异常捕获以及数据一致性管理。通过理解这些问题、易错点及避免策略,并结合代码示例,开发者能在面试中展现其技术实力和实践经验。
                        139 8
                        Python与NoSQL数据库(MongoDB、Redis等)面试问答
                        |
                        13天前
                        |
                        SQL 监控 druid
                        Druid数据库连接池简介及应用推广(老项目翻出来做下记录)
                        Druid数据库连接池简介及应用推广(老项目翻出来做下记录)
                        |
                        28天前
                        |
                        存储 缓存 NoSQL
                        Redis 服务器指南:高性能内存数据库的完整使用指南
                        Redis 服务器指南:高性能内存数据库的完整使用指南
                        |
                        2月前
                        |
                        缓存 NoSQL Redis
                        在Python Web开发过程中:数据库与缓存,除了Redis是内存数据库以外,还有哪些原因使其运行速度快?
                        Redis在Python Web开发中快速的原因:内存存储、多样化数据结构(如字符串、哈希、列表等)简化数据模型,单线程处理提高效率,结合非阻塞I/O;RDB和AOF提供持久化保障;TCP+二进制协议减少网络开销;管道技术提升通信效率。这些设计使Redis能高效处理高并发请求。
                        19 3
                        |
                        2月前
                        |
                        缓存 NoSQL 数据库
                        [Redis]——数据一致性,先操作数据库,还是先更新缓存?
                        [Redis]——数据一致性,先操作数据库,还是先更新缓存?
                        |
                        12天前
                        |
                        关系型数据库 MySQL 分布式数据库
                        《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
                        《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
                        47 2
                        |
                        28天前
                        |
                        SQL 数据可视化 关系型数据库
                        轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
                        轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
                        108 0
                        |
                        9天前
                        |
                        SQL 存储 关系型数据库
                        数据库开发之mysql前言以及详细解析
                        数据库开发之mysql前言以及详细解析
                        18 0
                        |
                        24天前
                        |
                        存储 关系型数据库 MySQL
                        MySQL基础入门:数据库操作全攻略
                        MySQL基础入门:数据库操作全攻略
                        50 0