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

  各位小伙伴们大家好,欢迎来到这个小扎扎的Redis 6专栏,在这个系列专栏中我对B站尚硅谷的Redis教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛

💡Redis知识点速览

  • 🍖 NoSQL数据库引入
    • 🥩 为什么要学NoSQL
    • 🥩 web时代发展的问题及解决方案
  • 🍖 初识NoSQL数据库
    • 🥩 NoSQL数据库简介
    • 🥩 初识Redis

🍖 NoSQL数据库引入

🥩 为什么要学NoSQL

  回顾之前的java后端学习历程,我们可以发现以往学习的技术可以被大致分为以下两种类型:其一,解决功能性问题:Java、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、SVN,通过这几门技术的学习就可以实现基础的业务逻辑编写;其二,解决扩展性问题:Struts、Spring、SpringMVC、Hibernate、Mybatis,以上几种框架或者说是技术可以增加我们程序的可扩展性,在对功能进行更改的时候就会简化操作
  当然,你可能会疑惑这些技术是不是就已经完全足够我们使用了,为什么还要学习Redis呢?那是因为,程序最终的功能是面向用户,但是用户群体肯定不止几个人而是一个很大的概念,当你的程序投入使用的时候也就代表着它要面临性能所带来的诸多问题。而以下技术就是用来解决性能问题:NoSQL、Java线程、Hadoop、Nginx、MQ、ElasticSearch

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

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

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

🍖 初识NoSQL数据库

🥩 NoSQL数据库简介

  NoSQL(Not Only SQL)意思是“不仅仅是SQL”,这一概念被用来泛指非关系型数据库(相对于关系型数据库的严格标准而言的一种概念)。NoSQL并不依赖业务逻辑方式进行存储,不遵循SQL标准,不支持ACID,且远超于SQL的性能
  NoSQL数据库大致上可分为四种,而我们要学的Redis就是其中一种典型的键值对数据库
在这里插入图片描述
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的下载安装和使用了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535041.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos常用命令_二、Docker镜像是什么?Docker常用命令

科技奇闻 关注让你我共同进步文章来源:CSDN作者:IronmanJayDocker常用命令1.帮助命令docker version #查看版本号docker info #显示Docker系统信息,包括镜像和容器数docker --help #查看Docker有哪些命令…

实现定时中断_无线传感器网络实验报告(二)Timer定时应用实验

实验二: Timer定时应用实验2.1实验目的1. 认识并了解 CC2530 定时器; 2. 学习定时器的基本配置与应用; 3. 在 ZigBee 模块上运行定时器程序。2.2实验原理根据数据手册可知 CC2530 总共有 4 个定时器,但是定时器 2 被系统占用&…

详析java中的关键字和权限修饰

💡涉及的知识点速通🛫 关于关键字你都知道什么?🪂 this和super关键字🪂 instanceof关键字🪂 static关键字🪂 final关键字🛫 权限修饰符的作用范围知多少?各位小伙伴们大家好,欢迎来…

JQ 全选后获取选中的值_Filecoin如何创建账户钱包并获取FIL测试币

昨天"猩动力节点"加入了fielcoin的测试网络,对用户或者矿工来说,如何获取代币,创建钱包保护好自己的资产,每一个用户来说都很关心。下面我们一起来学习如何创建账户钱包,并获取FIL 测试代币。在创建账户钱包…

Redis中 字符串的常用命令

各位小伙伴们大家好,欢迎来到这个小扎扎的Redis 6专栏,在这个系列专栏中我对B站尚硅谷的Redis教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛ 💡Redis知识点速览&…

mac wmware 无网络_无线网络中常用的技术名词

1、LAN:即局域网:是路由和主机组成的内部局域网,一般为有线网络。2、WAN:即广域网:是外部一个更大的局域网。3、WLAN(Wireless LAN,即无线局域网):前面我们说过LAN是局域网,其实大多…

python界面开发webview_python在webview和activity混合页面下怎么定位

展开全部 genymotion 模拟器:android 5.0.0 python 2.7 appium 1.4.16.1 1、app原生元素定位(常用) driver.find_element_by_id(“resourse-id”32313133353236313431303231363533e59b9ee7ad9431333363393662) driver.find_element_by_name(“…

androidstudio build tools安装_Android Studio4.0 安装及配置

本来打算十一月份写的,结果。。。就在我备注原来的文章的时候,硬盘坏了。。。所以重新配置环境。。。换硬盘,。。。坏的太突然以至于数据都没有备份。。。。建议大家在参考教程安装之前先大致浏览一遍,这样安装的时候就会大致知道…

Redis 五大数据类型的常用命令——列表、集合、哈希、有序集合

各位小伙伴们大家好,欢迎来到这个小扎扎的Redis 6专栏,在这个系列专栏中我对B站尚硅谷的Redis教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛ 💡Redis知识点速览&…

aop注解配置切点 spring_springboot aop 自定义注解方式实现一套完善的日志记录

一:功能简介本文主要记录如何使用aop切面的方式来实现日志记录功能。主要记录的信息有: 操作人,方法名,参数,运行时间,操作类型(增删改查),详细描述,返回值。二:项目结构图如果想学习…

抽象类、接口的区别和相似点

各位小伙伴们大家好,欢迎来到这个小扎扎的《Java核心技术 卷Ⅰ》笔记专栏,在这个系列专栏中我将记录浅学这本书所得收获,鉴于 看到就是学到、学到就是赚到 精神,这波简直就是血赚 💡涉及的知识点速通🛫 abs…

c标签判断true false jsp_Java学习知识点:小白如何掌握JSP技术?

今天千锋广州小编就给大家分享零基础如何掌握JSP技术,下面一起来看看吧!一、Java初级开发之jsp概述1.关于jspJavaServer Pages简称jsp,从“server”这个词可以看出,这其实也是一门java服务端技术,其实可以简单的把jsp认为是servle…

python语言保留字的特点_python保留字及其说明

原博文 2019-07-14 22:05 − 保留字 说 明 and 用于表达式运算,逻辑与操作 as 用于类型转换 assert 断言,用于判断变量或条件表达式的值是否为真 break 中断循环语句的执行 class 用于定义类 continue 继续执行下一次循环 ...011647 相关推荐 2019-12-19…

使用Java操作Redis的两种方式Jedis、RedisTemplate

各位小伙伴们大家好,欢迎来到这个小扎扎的Redis 6专栏,在这个系列专栏中我对B站黑马的Redis教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛ 💡Redis知识点速览&#…

python提取数据库数据_Python如何读取MySQL数据库表数据

本文实例为大家分享了Python读取MySQL数据库表数据的具体代码,供大家参考,具体内容如下 环境:Python 3.6 ,Window 64bit 目的:从MySQL数据库读取目标表数据,并处理 代码: # -*- coding: utf-8 -*- import p…

【项目实战】基于Redis实现短信验证码登录 (附源码、思路)

各位小伙伴们大家好,欢迎来到这个小扎扎的Redis 6专栏,在这个系列专栏中我对B站黑马的Redis教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛ 💡Redis知识点速览&#…

加工中心刻字宏程序_FANUC OI系列图书——车床、铣床及加工中心编程

☞ 这是金属加工(mw1950pub)发布的第10035篇文章导读今天跟大家分享FANUC OI系列图书,包括车床、铣床及加工中心编程,快来看看吧!《FANUC 0i数控车床/加工中心编程技巧与实例》选择在企业里应用*广泛、编程*具代表性的日本FANUCSeries0i-TC/T…

Redis 的缓存策略

各位小伙伴们大家好,欢迎来到这个小扎扎的Redis 6专栏,在这个系列专栏中我对B站黑马的Redis教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛ 💡Redis知识点速览&#…

关闭后天 树莓派_陪你一起玩树莓派-系统安装

从今天就开始我们的树莓派之旅,心情是不是有点小激动?我们拿到一个树莓派是一个裸机。我们要准备一张16G的高速TF闪存卡,一个5V/2A的USB电源和一根micro B的 usb线。装机步骤:一、下载树莓派系统1、浏览器打开树莓派官方网站 http…

简单的签到代码_PHP实现一个小小的签到功能,到底用MySQL还是Redis?

来源 | http://suo.im/5EWN3k今天,看下签到功能怎么选择?现在的网站和app开发中,签到是一个很常见的功能,如微博签到送积分,签到排行榜~微博签到如移动app ,签到送流量等活动,移动app签到用户签…