Redis入门(一)

news2024/12/26 23:22:06

第1章 NoSQL

1.1 NoSQL数据库

1.1.1 NoSQL是什么

(1)NoSQL(Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。
(2)NoSQL不拘泥于关系型数据库的设计范式,放弃了通用的技术标准,为某一领域特定场景而设计,从而使性能、容量、扩展性都达到了一定程度的突破。

1.1.2 NoSQL的特点

(1)不遵循SQL标准
(2)不支持ACID
(3)远超于SQL的性能。

1.1.3 NoSQL的适用场景

(1)对数据高并发的读写
(2)海量数据的读写
(3)对数据高可扩展性的

1.1.4 NoSQL的不适用场景

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

1.2 NoSQL家族

1)Memcached
(1)很早出现的NoSQL数据库
(2)数据都在内存中,一般不持久化
(3)支持简单的key-value模式,数据类型支持单一
(4)一般是作为缓存数据库辅助持久化的数据库
2)Redis
(1)几乎覆盖了Memcached的绝大部分功能
(2)数据都在内存中,支持持久化(写到磁盘),主要用作备份恢复
(3)支持丰富的数据类型,例如 string 、 list 、 set、zset、hash等
(4)一般是作为缓存数据库辅助持久化的数据库
缓存:临时存储
假如有很多客户端对MySQL进行每秒1000W次查询,MySQL肯定扛不住这么高的并发请求【性能有上限】,将MySQL的数据同步到Redis中,让先请求客户端对Redis先进行查询,如果没有就查询MySQL然后同步到Redis中,后面的客户端就可以对Redis进行查询!Redis 每秒100W ops,性能非常强大!
3)mongoDB
(1)高性能、开源、模式自由的文档型数据库(网页中的XML JSON数据)
(2)数据都在内存中,如果内存不足,把不常用的数据保存到硬盘
(3)虽然是key-value模式,但是对value(尤其是json)提供了丰富的查询功能
(4)支持二进制数据及大型对象
(5)可以根据数据的特点替代RDBMS(关系数据库管理系统),成为独立的数据库。或者配合RDBMS,存储特定的数据
4)HBase
(1)Hbase是Hadoop项目的数据库,主要用于对大量数据进行随机、实时的读写操作.
(2)Hbase能支持到数十亿行 × 百万列的数据表
5)Cassandra
(1)Cassandra用于管理由大量商用服务器构建起来的庞大集群上的海量数据集(PB级)
6)Neo4j
(1)Neo4j是基于图结构的数据库,一般用于构建社交网络、交通网络、地图等

第2章 Redis简介

2.1 Redis官网

(1)Redis官方网站 http://Redis.io
(2)Redis中文官方网站 http://www.Redis.net.cn(山寨网站)
在这里插入图片描述
Redis也可以做流式引擎(不过大数据领域一般选择kafka)以及消息中间件

2.2 Redis是什么

(1)Redis是一个开源的key-value存储系统。 不用建库也不用建表
(2)它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set)和hash(哈希类型)。
(3)Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件 支持持久化
(4)支持高可用和集群模式。

2.3 Redis的应用场景

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

(1)高频次,热门访问的数据,降低数据库IO
(2)经典的Cache Aside Pattern(旁路缓存模式)
在这里插入图片描述

2.3.2 大数据场景

1)缓存
(1)高频次
(2)读写时效性高
(3)总数据量不大
(4)临时性
(5)用key查询
在这里插入图片描述
2)数据库
(1)高频次写入
(2)高频次查询
(3)总数据量不大,且对丢失数据不敏感
在这里插入图片描述

2.3.3 利用其多样的数据结构存储特定的数据

(1)最新N个数据  通过List实现按自然事件排序的数据
(2)排行榜,TopN  利用zset(有序集合)
(3)时效性的数据,比如手机验证码 Expire过期
(4)计数器,秒杀  原子性,自增方法INCR、DECR 防止超卖!
(5)去除大量数据中的重复数据 利用set集合
(6)构建队列利用list集合
(7)发布订阅消息系统  pub/sub模式

第3章 Redis安装

3.1 关于Redis版本

不用考虑在Windows环境下对Redis的支持,Redis官方没有提供对Windows环境的支持,是微软的开源小组开发了对Redis对Windows的支持 很多(淘宝 微信等)后台都是Redis

3.2 安装

1)安装新版gcc编译器(大部分数据库都是C语言编写,需要gcc)
在102机器安装Redis就在102上安装gcc

[aa ~]$ sudo yum -y install gcc-c++ 

2)上传redis-6.2.1.tar.gz安装包到/opt/software目录下
3)解压redis-6.2.1.tar.gz到/opt/module目录下 (跟着视频来,老师解压到software)

[aa software]# tar -zxvf redis-6.2.1.tar.gz -C /opt/module/

tar -zxvf redis-6.2.1.tar.gz 解压到当前目录

4)之后进入安装包的src目录,编辑Makefile文件,修改软件安装路径如下:

[aa src]$ vim Makefile

#修改如下

PREFIX?=/home/aa
[aa src]$ make && make install

在这里插入图片描述

3.3 查看安装目录 /home/aa/bin

(1)Redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何(服务启动起来后执行)
(2)Redis-check-aof:修复有问题的AOF文件
(3)Redis-check-dump:修复有问题的RDB文件
(4)Redis-sentinel:启动Redis哨兵服务
(5)redis-server:Redis服务器启动命令
(6)redis-cli:客户端,操作入口
在这里插入图片描述

3.4 Redis的启动

1)拷贝一份redis.conf配置文件到工作目录

[aa ~]$ mkdir myredis
[aa ~]$ cd myredis
[aa myredis]$ cp /opt/module/redis-6.2.1/redis.conf .

2)绑定主机IP,修改bind属性

[aa myredis]$ vim redis.conf
bind 0.0.0.0

3)指定配置文件进行启动 启动服务端

[aa myredis]$ redis-server redis.conf

在这里插入图片描述

3.5 客户端访问

1)使用redis-cli 命令访问启动好的Redis,默认端口为6379

[aa myredis]$ redis-cli 
127.0.0.1:6379> 
  • 服务端关闭:1 在redis服务端CTRl+C 2 优雅关机,客户端执行shutdown
    2)如果有多个Redis同时启动,或者端口做了修改,则需指定端口号访问
[aa myredis]$ redis-cli -p 6379
127.0.0.1:6379>

3)如果访问非本机redis,需要指定host来访问

[aa myredis]$ redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379>

4)通过 ping 命令测试验证

127.0.0.1:6379> ping
PONG

windows的Redis客户端进行访问
在这里插入图片描述
在这里插入图片描述

3.6 关闭Redis服务

如果还未通过客户端访问,可直接 redis-cli shutdown
[aa@hadoop102 myredis]$ redis-cli shutdown
如果已经进入客户端,直接 shutdown即可.

127.0.0.1:6379> shutdown

Jps是看不到redis的相关进程! Jps是java process status

3.6.1查看redis进程 ps -ef | grep redis

在这里插入图片描述
杀死进程!

kill -9 6463

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

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

相关文章

MyAQL事务

目录 ----------------------MySQL 事务-------------------------------- 1.事务的概念 2.事务的ACID特点 ●原子性 ●一致性 ●隔离性 事务隔离级别的作用范围分为两种: ●持久性 3.事务控制语句 案例: 4…

【Elacticsearch】 倒排索引的查增删改原理

关联文章:【Elacticsearch】 原理/数据结构/面试经典问题整理_东方鲤鱼的博客-CSDN博客 建立索引的原理 当向协调节点发送请求以索引新文档时,将执行以下操作: 所有在Elasticsearch集群中的节点都包含:有关哪个分片存在于哪个节点…

深度学习入门笔记1--梯度下降之--为什么是负方向--为什么局部下降最快的是负梯度方向

本节目标理解梯度下降的原理,主要围绕以下几个问题展开: 梯度下降法的用途?什么是梯度?为什么是负的梯度为什么局部下降最快的方向就是梯度的负方向。 需要的知识储备:一级泰勒展开公式 向量内积计算公式 1. 梯度下…

Sui主网升级至V1.3.0版本

Sui主网现已升级至V1.3.0版本,升级要点如下所示: 将协议版本更新至12 开始在Narwhal中使用BatchV2,新增VersionedMetadata允许更精细的追踪Narwhal批处理延迟。有关详细信息,请参阅#12178和#12290。 将协议版本更新至13 弃用0…

wtmp日志读取

wtmp日志介绍 之前遇到一个AIX服务器登录不上,但是能ping通的事情。一开始我怀疑是sshd服务坏掉了,但是使用telnet也无法登录。好在这台机器所在的机房就在我隔壁,于是外接显示器,直接上机操作。好在直接通过物理介质还是能登录得…

全球企业KVM贡献榜公布,腾讯云再添1项核心突破

6月14日,在全球虚拟化顶级技术峰会 KVM Forum 上,2023年度全球企业 KVM 开源贡献榜正式发布。腾讯云成为中国唯一连续七年入围的云厂商。 作为云计算的关键底层技术,云厂商需要利用KVM对物理机进行虚拟化,提供云端的池化算力。作为…

如何「假装」自己做过性能测试?

简历: 熟练掌握后端性能、压力测试 面试官: 你们是怎么做性能测试的? 我: 主要是对后端服务模块进行性能测试,我们上一个项目是是一个群聊项目,类似于QQ群,大家可以在一个群里聊天&#xf…

视觉SLAM十四讲——ch10实践(后端2)

视觉SLAM十四讲——ch10的实践操作及避坑 0. 实践前小知识介绍1. 实践操作前的准备工作2. 实践过程2.1 g2o原生位姿图2.2 李代数上的位姿图优化 3. 遇到的问题及解决办法3.1 在运行pose_graph_g2o_lie时出现错误 0. 实践前小知识介绍 视觉SLAM(Simultaneous Locali…

基于Java菜匣子优选系统设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

粒子群算法(Particle Swarm Optimization(PSO)附简单案例及详细matlab源码)

作者:非妃是公主 专栏:《智能优化算法》 博客地址:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录 专栏推荐序一、概论二、粒子群算法原理…

【复杂网络建模】——使用PyTorch和DGL库实现图神经网络进行链路预测

🤵‍♂️ 个人主页:Lingxw_w的个人主页 ✍🏻作者简介:计算机科学与技术研究生在读 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 &#x1f4a…

当老板问:软件质量怎么样,能上线发布吗?阁下该如何应对

说在前面 每当你和团队完成了一款软件产品的开发,是否很容易被问到这样一个问题:质量怎么样?或者是能上线发布吗?如果你是团队的负责人,你会如何回答这样的问题呢?对软件质量的评判标准,不见得…

【Airtest】UI自动化测试的数据分离实践

目录 前言 1. 示例介绍 2. 读取Excel单元格里的数据 1)安装 xlrd 第三方库 2)读取表格数据存储到列表中 3)封装成读取控件信息的函数 3. 处理控件信息并实现控件操作 小结 前言 在UI自动化测试中,测试数据的管理和组织是…

Spring-Retry(重试机制)

Spring-Retry(重试机制) 在实际工作中,重处理是一个非常常见的场景,比如: 发送消息失败。 调用远程服务失败。 争抢锁失败。 这些错误可能是因为网络波动造成的,等待过后重处理就能成功。通常来说,会用try…

Redis入门 - 5种基本数据类型

原文首更地址,阅读效果更佳! Redis入门 - 5种基本数据类型 | CoderMast编程桅杆https://www.codermast.com/database/redis/five-base-datatype.html 说明 在我们平常的业务中基本只会使用到Redis的基本数据类型(String、List、Hash、Set、…

重新学树结构

树 图一 图二 相关术语 前驱:某结点上一层结点,图中H结点的前驱结点是F后继:某结点紧跟的后面的结点,图中F结点的后继是G、H、I三个结点根结点:非空树没有前驱结点的结点,图中的R结点结点的度&#x…

019+limou+C语言预处理

0.前言 您好,这里是limou3434的一篇博客,感兴趣您可以看看我的其他博文系列。本次我主要给您带来了C语言有关预处理的知识。 1.宏的深度理解与使用 1.1.数值宏常量 #define PI 3.1415926注意define和#之间是可以留有空格的 1.2.字符宏常量 #includ…

设置论文中的图、表的题注

参考b站:毕业论文图表如何自动编号/word图表自动编号/图表编号自动更新 其中,更新图表序号 视频使用ctrl 设置论文中的图、表的题注 step1:设置章节1.1: 章节设置字体样式,选择标题11.2:章节添加序号1.3 修改序号 和字之间的缩进&…

Linux->线程基本概念

目录 前言: 1. 线程的基本概念 2 线程的优点 3 线程的缺点 4 数据块大小为4KB大小的真正原因 前言: 本篇文章讲解了线程与进程之间的区别和联系,线程的优缺点,还有内存的数据管理与磁盘之间的关系,虚拟内存到内存…

阿里云服务器提供哪些操作系统和软件支持?是否与常用软件兼容?

阿里云服务器提供哪些操作系统和软件支持?是否与常用软件兼容?    阿里云服务器支持的操作系统   为了满足不同用户需求,阿里云服务器(ECS)提供了丰富的操作系统选择。以下是阿里云服务器支持的主要操作系统&#…