为什么要学Redis(NoSQL数据库)

简介: 为什么要学Redis(NoSQL数据库)

🍖 NoSQL数据库引入

🥩 为什么要学NoSQL

 回顾之前的java后端学习历程,我们可以发现以往学习的技术可以被大致分为以下两种类型:其一,解决功能性问题:Java、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、SVN,通过这几门技术的学习就可以实现基础的业务逻辑编写;其二,解决扩展性问题:Struts、Spring、SpringMVC、Hibernate、Mybatis,以上几种框架或者说是技术可以增加我们程序的可扩展性,在对功能进行更改的时候就会简化操作

 当然,你可能会疑惑这些技术是不是就已经完全足够我们使用了,为什么还要学习Redis呢?那是因为,程序最终的功能是面向用户,但是用户群体肯定不止几个人而是一个很大的概念,当你的程序投入使用的时候也就代表着它要面临性能所带来的诸多问题。而以下技术就是用来解决性能问题:NoSQL、Java线程、Hadoop、Nginx、MQ、ElasticSearch


🥩 web时代发展的问题及解决方案

image.png

如何解决CPU及内存压力?

 解决web 2.0 时代存在的CPU及内存压力问题,方案就是将原本的一台服务器采用分布式的方式部署在许多台服务器上,分布式部署需要在所有服务器之前使用负载均衡技术平均分配发送过来的所有请求,一般这个技术就是Nginx。但是分布式服务器就会存在一个关于session对象的问题,那就是如果同一个用户发送两次请求但是却被分配给了两个不同的服务器,那么这个时候如何正确读取到该用户的session对象就显得异常重要 image.png 上图就画出了分布式服务器的组件图,并给出了session存储的四个方案,其中NoSQL数据库存储session对象就是很好的一个解决方案,因为NoSQL中的数据都存储在内存中,数据读取速度很快且无需经过IO操作


如何解决IO压力?

 我们可以对数据库和表中的数据进行水平切分、垂直切分、读写分离等操作,在破坏一定的业务逻辑的基础上提高数据的IO性能;或者将频繁查询的数据拿出来放到缓存数据库中,由此减少IO的读操作提高查询速度;再或者将一些特殊的数据拿出来进行文档数据库或者列式数据库等的存储。通过这些方式来减少IO的压力



🍖 初识NoSQL数据库

🥩 NoSQL数据库简介

 NoSQL(Not Only SQL)意思是“不仅仅是SQL”,这一概念被用来泛指非关系型数据库(相对于关系型数据库的严格标准而言的一种概念)。NoSQL并不依赖业务逻辑方式进行存储,不遵循SQL标准,不支持ACID,且远超于SQL的性能

 NoSQL数据库大致上可分为四种,而我们要学的Redis就是其中一种典型的键值对数据库

image.png

NoSQL数据库的适用场景

对数据高并发的读写

海量数据的读写

对数据高可扩展性的

NoSQL数据库不适用的场景

需要事务支持

基于sql的结构化查询存储,处理复杂的关系,需要即席查询(用户根据自己的需求灵活选择查询条件,系统能够根据用户的选择生成相应的统计报表)

用不着sql的和用了sql也不行的情况,请考虑用NoSql

🥩 初识Redis

 Redis是一个开源的key-value存储系统,它和Memcached数据库类似,同样支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。

 在此基础上,Redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中,区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

 在初步认识过Redis之后,下一步就是要学习Redis的下载安装和使用了


相关文章
|
9月前
|
存储 NoSQL Redis
阿里云高性能数据库Tair(兼容 Redis)收费价格,稳定可靠成本低
阿里云高性能云数据库Tair兼容Redis,提供Redis开源版和Tair企业版,支持多种存储介质与灵活扩展,适用于高并发场景。Tair具备亚毫秒级稳定延迟,保障业务连续性。价格方面,Redis开源版年费从72元起,Tair企业版年费从1224元起,具体费用根据配置不同有所变化。
|
存储 NoSQL 数据库
Redis 逻辑数据库与集群模式详解
Redis 是高性能内存键值数据库,广泛用于缓存与实时数据处理。本文深入解析 Redis 逻辑数据库与集群模式:逻辑数据库提供16个独立存储空间,适合小规模隔离;集群模式通过分布式架构支持高并发和大数据量,但仅支持 database 0。文章对比两者特性,讲解配置与实践注意事项,并探讨持久化及性能优化策略,助你根据需求选择最佳方案。
1100 5
|
8月前
|
人工智能 运维 NoSQL
云栖大会|AI浪潮下的NoSQL演进:下一代数据库的破局之道
AI浪潮下的NoSQL演进:下一代数据库的破局之道
|
12月前
|
存储 NoSQL 搜索推荐
NoSQL数据库分类概览
以上就是我们的NoSQL数据库奇幻之旅。每一种NoSQL数据库都有自己独特的魅力和专长,择选合适的数据库,就像在魔法世界中挑选最适合自己的魔杖,使你的数据管理变得更加高效和神奇。在当今数据驱动的时代,懂得这些数据库的秘密,就掌握了处理各种数据挑战的关键。
557 61
|
NoSQL Java Redis
Redis Pipeline介绍 ---- 提高操作Redis数据库的执行效率。
Redis Pipeline是提高Redis执行效率的重要技术,通过批量发送命令,显著减少了网络往返次数,提高了系统的吞吐量和性能。在实际应用中,合理使用Pipeline可以有效优化Redis的性能,特别是在需要批量操作的场景下。本文通过Python和Java的示例代码展示了如何实现和使用Redis Pipeline,为开发者提供了具体的操作指南。
646 16
|
消息中间件 缓存 NoSQL
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
缓存与数据库的一致性方案,Redis与Mysql一致性方案,大厂P8的终极方案(图解+秒懂+史上最全)
|
9月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
544 158
|
9月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
9月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
1442 152
|
9月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
1056 156

热门文章

最新文章