Redis笔记——(狂神说)待续

Nosql概述

为什么要用NoSql?

1、单机mysql的年代:90年代,网站访问量小,很多使用静态网页html写的,服务器没压力。
当时瓶颈是:1)数据量太大一个机器放不下。2)数据的索引(B+Tree),一个机器内存也放不下。3)访问量(读写混合),一个服务器承受不了~

2、Memcached(缓存)+ Mysql+ 垂直拆分 (读写分离)。 
如用2台机器的mysql负责读操作,一台机器的mysql负责写操作并且同步给其他2机器的mysql,然后读操作mysql前面也可以加上一层缓存处理大量读请求。
网站80%的情况都是在读,每次都要去查询数据库的话就十分的麻烦!所以说我们希望减轻数据的压力,我们可以使用缓存来保证效率!
发展过程︰优化数据结构和索引-->文件缓存(IO ) ---> Memcached (当时最热门的技术!)

3、分库分表 + 水平拆分(mysql集群) 
如上面2台读mysql的机器和一台写mysql的机器可以组成一个集群1,然后另外2台读mysql的机器和一台写mysql的机器(其实也可叫读的mysql为slave,写的mysql为master)再组成集群2,...集群3,这样只在集群1中放1/n的数据,所有集群组合成一个完整的数据。用户来读写的时候通过算法再去相应的集群中找。

对于读请求,可通过memcache缓存来解决。
对于写请求:
早些年:MyISAM:表锁,十分影响效率,高并发下会出现严重的所问题
转战InnoDB:行锁
慢慢的就开始使用分库分表来解决写的压力。在那个年代MySql就推出了表分区,这个并没有多少公司使用。也推出了mysql的集群,很好的满足了当时那个年代的需求。 

4、如今最近的年代
2010--2020十年之间,世界已经发生了翻天覆地的变化;(定位,也是一种数据,音乐,热榜!)
MySQL等关系型数据库就不够用了!数据量很多,变化很快~!
MySQL有的使用它来存储一些比较大的文件,博客,图片!数据库表很大,效率就低了!如果有一种数据库来专门处理这种数据,
MySQL压力就变得十分小(研究如何处理这些问题!)大数据的IO压力下,表几乎没法更大!

 为什么要用NoSQL ! 

用户的个人信息,社交网络,地理位置。用户自己产生的数据,用户日志等等爆发式增长!这时候
我们就需要使用NoSQL数据库的,Nosql可以很好的处理以上的情况! 

什么是NoSQL?

(关系型数据库:表格,行,列)

not noly sql  ,

泛指非关系型数据库的。随着web2.0互联网的诞生!传统的关系型数据库很难对付web2.0时代!尤其是超大规模的高并发的社区!暴露出来很多难以克服的问题,NoSQL在当今大数据环境下发展的十分迅速,Redis是发展最快的,而且是我们当下必须要掌握的一个技术!
很多的数据类型用户的个人信息,社交网络,地理位置。这些数据类型的存储不需要一个固定的格式!不需要多余的操作就可以横向扩展的!

Map<String,Object>使用键值对来控制!

传统RDBMS和NoSQL区别

传统的 RDBMS
-结构化组织- SQL
-数据和关系都存在单独的表中 row col

-操作操作,数据定义语言
-严格的一致性
-基础的事务

......


Nosql
-不仅仅是数据
-没有固定的查询语言
-键值对存储,列存储,文档存储,图形数据库(社交关系)

-最终一致性,
- CAP定理和BASE(异地多活)

-高性能,高可用,高可扩
- ....

大数据时代的3V:主要是描述问题的
1.海量Volume
2.多样Variety        
3.实时Velocity
大数据时代的3高:主要是对程序的要求
1.高并发
2.高可拓
3.高性能

真正在公司中的实践:

NoSQL + RDBMS一起使用才是最强的,阿里巴巴的架构演进!

技术没有高低之分,就看你如何去使用!

NoSQL的四大分类

NoSQL的四大分类


KV键值对∶
·新浪:Redis
·美团:Redis + Tair
·阿里、百度:Redis + memecache

文档型数据库( bson格式和json一样)∶
.MongoDB(一般必须要掌握)
    o MongoDB是一个基于分布式文件存储的数据库,C++编写,主要用来处理大量的文档!
    o MongoDB是一个介于关系型数据库和非关系型数据中中间的产品! MongoDB是非关系型数据库中功能最丰富,最像关系型数据库的!
. ConthDB

列存储数据库
· HBase
·分布式文件系统

图关系数据库
他不是存图形,放的是关系,比如︰朋友圈社交网络,广告推荐!
Neo4j ,lnfoGrid ;

Redis入门

概述

Redis是什么?
Redis ( Remote Dictionary Server ),即远程字典服务
是一个开源的使用ANSl C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的AP.
免费和开源!是当下最热门的NoSQL技术之一!也被人们称之为结构化数据库!
Redis 能干嘛?
1、内存存储、持久化,内存中是断电即失、所以说持久化很重要( rdb、aof )
2、效率高,可以用于高速缓存
3、发布订阅系统
4、地图信息分析
5、计时器、计数器(浏览量!)
6、.……
特性
1、多样的数据类型
2、持久化
3、集群
4、事务

注意:Wdinow在 Github上下载(停更很久了! )
Redis推荐都是在Linux服务器上搭建的,我们是基于Linux学习!

官网

官网:https://redis.io
中文网:http://redis.cn

Windows下安装Redis

详见hexo笔记springboot(21)。

Releases · tporadowski/redis · GitHub

可下载msi文件。然后运行安装,选择安装目录一路next即可。

然后安装目录根目录,即redis-server.exe所在的根目录上方敲cmd,使用下面命令开启:

服务端启动命令
redis-server.exe redis.windows.conf
客户端启动命令
redis-cli.exe

小bug,直接 redis-server.exe redis.windows.conf 起不来,需要先根目录上再开一个cmd,然后执行redis-cli.exe和shutdown和exit

D:\《D盘主文件夹》\桌面\Redis\Redis5>redis-cli.exe
127.0.0.1:6379> shutdown
not connected> exitD:\《D盘主文件夹》\桌面\Redis\Redis5>

然后再在作为server的根目录上敲的cmd窗口中 redis-server.exe redis.windows.conf 就可成功启动了。

测试:

输入ping回车pong

使用:
set [key] [value]
get [key]

Linux下安装Redis

官网:https://redis.io

官网中下最新版的redis ,下载得到.tar.gz安装包  

打开Vmware虚拟机,运行linux镜像,如centOs7,

嫌弃界面不美观的可以ip address查看ens33的inet为当前linux的ip。然后使用finalShelll链接ssh输入ip,端口不用输,输入linux的登录用户和密码保存和连接即可。

1将下载的安装包.tar.gz拖曳到finalshell的/home/kdy/目录下,即上传windows中的安装包到centos7中。

cd /home cd kdy ,ll有安装包,再把安装包移动到/opt目录下 mv  redis-7.2.0.tar.gz /opt        cd /opt  ll有这个安装包

2解压缩:tar -zxvf redis-7.2.0.tar.gz   得到解压后的redis目录   

3.进入解压后的文件,可看到redis配置文件   cd redis-7.2.0  ll 里面有个 redis.conf

4.进入解压后的文件后,运行yum install gcc-c++  安装基本的环境   gcc -v查看版本

5.进入解压后的文件后,输入make回车   安装基本的环境  ,然后再make install

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

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

相关文章

thinkphp6 入门(1)--安装、路由规则、多应用模式

一、安装thinkphp6 具体参考官方文档 安装 ThinkPHP6.0完全开发手册 看云 下面仅列举重要步骤 ThinkPHP6.0的环境要求如下&#xff1a; PHP > 7.2.5 1. 安装Composer 2. 安装稳定版thinkphp 如果你是第一次安装的话&#xff0c;在命令行下面&#xff0c;切换到你的WE…

【高危】Kubernetes Windows节点kubernetes-csi-proxy提权漏洞 (CVE-2023-3893)

zhi.oscs1024.com​​​​​ 漏洞类型OS命令注入发现时间2023-08-24漏洞等级高危MPS编号MPS-t6rg-974fCVE编号CVE-2023-3893漏洞影响广度小 漏洞危害 OSCS 描述Kubernetes是开源的容器管理平台&#xff0c;kubernetes-csi-proxy是用于Windows中的CSI&#xff08;容器存储接口&…

如何在不使用任何软件的情况下将 PDF 转换为 Excel

通常&#xff0c;您可能会遇到这样的情况&#xff1a;您需要的数据不在 Excel 工作表中&#xff0c;而是以数据表形式出现在 PDF 文件中。为了将此数据放入 Excel 工作表中&#xff0c;如果您尝试将数字复制并粘贴到电子表格中&#xff0c;则列/行将无法正确复制和对齐。因此&a…

Python爬虫分布式架构问题汇总

在使用Python爬虫分布式架构中可能出现以下的问题&#xff0c;我们针对这些问题&#xff0c;列出相应解决方案&#xff1a; 1、任务重复执行 在分布式环境下&#xff0c;多个爬虫节点同时从消息队列中获取任务&#xff0c;可能导致任务重复执行的问题。 解决方案&#xff1a;…

从0到1学会Git(第一部分):Git的下载和初始化配置

1.Git是什么: 首先我们看一下百度百科的介绍:Git&#xff08;读音为/gɪt/&#xff09;是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 …

【面试】线上 CPU 100% 问题排查

回答套路一般为&#xff1a;线上服务器没有排查过&#xff0c;线上服务器只有运维才有操作权限。在平时开发的时候&#xff0c;在测试服务器上排查过。 一、复现代码 public class Test {public static void main( String[] args ){int a 0;while (a < 100) {a * 10;}} }…

MAE 论文精读 | 在CV领域自监督的Bert思想

1. 背景 之前我们了解了VIT和transformer MAE 是基于VIT的&#xff0c;不过像BERT探索了自监督学习在NLP领域的transformer架构的应用&#xff0c;MAE探索了自监督学习在CV的transformer的应用 论文标题中的Auto就是说标号来自于图片本身&#xff0c;暗示了这种无监督的学习 …

【Azure】Virtual Hub vWAN

虚拟 WAN 文档 Azure 虚拟 WAN 是一个网络服务&#xff0c;其中整合了多种网络、安全和路由功能&#xff0c;提供单一操作界面。 我们主要讨论两种连接情况&#xff1a; 通过一个 vWAN 来连接不通的 vNET 和本地网络。以下是一个扩展的拓扑 结合 vhub&#xff0c;可以把两个中…

前端需要理解的CSS知识

CSS&#xff08;层叠样式表&#xff0c;Cascading Style Sheets&#xff09;不是编程语言&#xff0c;而是用来描述 HTML 或 XML&#xff08;包括如 SVG、MathML 或 XHTML 之类的 XML 分支语言&#xff09;文档的表现与展示效果的样式表语言。CSS3是CSS的最新标准&#xff0c;是…

SQLite、MySQL、PostgreSQL3个关系数据库之间的对比

引言 关系数据模型以行和列的表格形式组织数据&#xff0c;在数据库管理工具中占主导地位。今天还有其他数据模型&#xff0c;包括NoSQL和NewSQL&#xff0c;但是关系数据库管理系统&#xff08;RDBMS&#xff09;仍然占主导地位用于存储和管理全球数据。 本文比较了三种实现最…

【二分】搜索旋转数组

文章目录 不重复数组找最小值&#xff0c;返回下标重复数组找最小值&#xff0c;返回下标不重复数组找target&#xff0c;返回下标重复数组找target&#xff0c;返回bool重复数组找target&#xff0c;返回下标 不重复数组找最小值&#xff0c;返回下标 class Solution {public …

Unity3D Pico VR 手势识别

本文章使用的 Unity3D版本: 2021.3.6 , Pico SDK 230 ,Pico OS v.5.7.1 硬件Pico 4 Pico SDK可以去Pico官网下载SDK 导入SDK 第一步&#xff1a;创建Unity3D项目 第二步&#xff1a;导入 PICO Unity Integration SDK 选择 Windows > Package Manager。 在 Packag…

深入浅出AXI协议(2)——通道及信号

一、前言 在之前的文章中&#xff0c;我们主要介绍了什么是AXI协议&#xff0c;AXI协议的特点与优点&#xff0c;然后对于AXI协议非常重要的五通道结构进行了介绍&#xff0c;了解了5个通道各自的作用。本文我们继续AXI协议的学习&#xff0c;我们将讨论5个通道的具体内容和相对…

Linux_4_文本处理工具和正则表达式

目录 1文本编辑工具之神VIM1.1 vi和vim简介1.2使用vim1.2.1 vim 命令格式1.2.2三种主要模式和转换 1.3扩展命令模式1.3.1扩展命令模式基本命令1.3.2 地址定界1.3.3查找并替换1.3.4定制vim的工作特性1.3.4.1行号1.3.4.2忽略字符的大小写1.3.4.3白动缩进1.3.4.4复制粘贴保留格式1…

Django(2)-编写你的第一个 Django 应用

本教程的目的是创建一个网络投票应用程序。 它将由两部分组成&#xff1a; 一个让人们查看和投票的公共站点。 一个让你能添加、修改和删除投票的管理站点。 创建应用 $ python manage.py startapp polls每一个应用是一个python包&#xff0c;一个项目可以包含多个应用。 …

虚虚实实,让敌人难以琢磨

与敌作战&#xff0c;虚虚实实&#xff0c;难以琢磨 【安志强趣讲《孙子兵法》第20讲】 第六篇&#xff1a;虚实篇 【全篇趣讲白话】 打仗就是要虚虚实实&#xff0c;让敌人难以琢磨。 【原文】 孙子曰&#xff1a;凡先处战地而待敌者佚&#xff0c;后处战地而趋战者劳。故善…

二分查找逻辑

目录 二分查找 查找逻辑 题目练习 题目描述 代码示例 总结 二分查找 二分查找是我们经常使用的一种算法&#xff0c;他的逻辑是 在升序或者降序且无重复元素的数组中&#xff0c;比较目标值和数组中间值的方法&#xff0c;每次缩小一半的搜索范围&#xff0c;相比遍历可…

iOS脱壳技术(二):深入探讨dumpdecrypted工具的高级使用方法

前言 应用程序脱壳是指从iOS应用程序中提取其未加密的二进制可执行文件&#xff0c;通常是Mach-O格式。这可以帮助我们深入研究应用程序的底层代码、算法、逻辑以及数据结构。这在逆向工程、性能优化、安全性分析等方面都有着重要的应用。 在上一篇内容中我们已经介绍了Clutc…

使用VSCode SSH实现公网远程连接本地服务器开发的详细教程

文章目录 前言1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 前言 远程…

苍穹外卖 day2 反向代理和负载均衡

一 前端发送的请求&#xff0c;是如何请求到后端服务 前端请求地址&#xff1a;http://localhost/api/employee/login 路径并不匹配 后端接口地址&#xff1a;http://localhost:8080/admin/employee/login 二 查找前端接口 在这个页面上点击f12 后转到networ验证&#xff0…