Redis学习路线(1)—— Redis的安装

news2024/11/23 12:14:41

一、NoSQL

SQL VS NoSQL

1、名称

  • SQL 主要是指关系数据库。
  • NoSQL 主要是指非关系数据库。

2、存储结构

  • SQL 是结构化的数据库,以表格的形式存储数据。
  • NoSQL 是非结构化的数据库,以Key-Value(Redis),JSON格式文档(MongoDB),关系图(Neo4j),列类型(HBase)存储数据

3、数据之间的关联性

  • SQL 的数据表之间具有主键-外键关联性。
  • NoSQL 的数据之间相互独立,可以进行嵌套建立伪关联。

4、查询方式

  • SQL 的查询语法是固定的,可以迁移到其它数据库进行查询。
  • NoSQL 的查询语法不固定,每种数据库都有自身的语法

5、事务支持

  • SQL 满足ACID原则(原子性,一致性,隔离性,持久性)
  • NoSQL 满足基本的事务原则,但不完整

6、存储方式

  • SQL 存储在 磁盘
  • NoSQL 存储在 内存

7、扩展性

  • SQL:垂直 (对分布式拆分不友好)
  • NoSQL:水平 (对分布式拆分友好)

8、使用场景

  • SQL
    • 数据结构固定
    • 相关业务对数据安全性、一致性要求高
  • NoSQL
    • 数据结构不固定
    • 对一致性、安全性要求低
    • 对性能要求高

二、Redis

(一)介绍

Redis于意大利人 ANTIREZ 在2009年发布,全称是 ReMote Dictionary Server ,远程词典服务器,是一款基于内存的键值对类型NoSQL数据库。

(二)特点

  • 键值对型: value支持多种不同数据结构,功能丰富
  • 单线程: 每个命令具备原子性
  • 低延迟,速度快: 基于内存、IO多路复用、良好的编码(底层是 C语言
  • 支持数据持久化: 持久化到磁盘
  • 支持主从集群、分片集群: 一种安全策略,避免数据丢失
  • 支持多语言客户端: 可以在多语言的开发中使用

三、安装Redis

(一)单机安装Redis

官方网站: https://redis.io/

1、安装Redis依赖

由于Rdis是基于 C 编写的,所以我们需要安装 gcc 依赖。

yum install -y gcc tcl

2、安装redis

方式一:直接用Docker pull Redis镜像

docker pull redis:6.2.6

方式二:下载压缩包,上传至虚拟机并解压即可

#解压完毕进入redis文件夹
cd redis-6.2.6

#编译redis,默认安装在 /usr/local/bin
make && make install

#运行redis
#	redis-cli:redis提供的命令行客户端
#	redis-server:redis同的服务端启动脚本
#	redis-sentinel:redis的哨兵启动脚本

3、启动

方式一:docker运行方式

#不带密码的运行方式
docker run --name redis -p 6379:6379 -d redis:6.2.6

#带有密码的运行方式
docker run -itd --name redis -p 6379:6379 redis --requirepass "123456"

方式二:默认启动

redis-server

方式三:指定配置启动

1、修改配置文件 redis.conf

# 修改监听地址,0.0.0.0 表示可以被任意IP访问
bind 0.0.0.0

# 守护进程,改为后台运行
daemonize yes

#	设置密码
requirepass 123321

其它配置

# 监听端口
port 6379

#工作目录,默认为当前目录,即运行redis-server的命令,日志,持久化等文件存储的目录
dir .

# 数据库数量,设置为1,表示只是用1个库,默认有16个,编号是0-15
databases 1

# 设置redis能够访问使用的最大内存
maxmemory 512mb

# 日志文件,默认温控,不记录日志,可以指定日志文件名
logfile "redis.log"

2、启动配置文件

redis-server redis.conf

3、停止服务

# 使用redis-cli 执行 shutdown命令,由于设置了密码,需要通过 -u 指定密码进行操作授权
redis-cli  -u 123321 shutdown

方式四:开机自启

redis本身没有关于改机自启的功能,所以我们需要自己编写一个redis服务文件,以提供可用命令。

#创建并浏览redis.service
vi /etc/systemd/system/redis.service

redis.service

[Unit]
Description=redsi.server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-usr.target

重载系统服务并设置自启

#重载系统服务
systemctl daemon-reload

#启动redis
systemctl start redis

#设置自启redis
systemctl enable redis

四、RedisClient

(一)客户端的类型

  • 命令行客户端
  • 图形化客户端
  • 编程客户端

(二)客户端的使用

1、命令行客户端

#如果不指定指令时,会直接进入redis控制台
redis-cli [options] [commonds]

#常见options:
# -h 127.0.0.1 指定连接redis节点的ip
# -p 6379 指定连接redis接口的端口
# -a 123321 指定redis的访问密码

#常见commonds
# ping:与redis做心跳测试,服务端正常返回pong状态

2、图形化客户端

图形化客户端是github的开源项目,Redis图形化客户端(源码)

由于该开源项目,并没有提供windows安装包,所以我们可以采用另外一个开源项目,是为这个开源项目提供Windows安装包,Redis图形化客户端(Windows)

(1)解压缩后,执行安装程序
(2)建立连接

在这里插入图片描述

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

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

相关文章

Linux系统安装Mysql二进制文件

💻前言 为了简化安装和配置过程,许多Linux发行版提供了预编译的二进制MySQL安装包,这些安装包已经经过测试和验证,可以在大多数Linux系统上正常工作。通过安装这些二进制MySQL安装包,可以省去从源代码编译和安装的繁琐…

mysql通过binlog恢复数据

开启binlog 在my.ini中添加以下两行代码: log-binmysql-bin server-id1 注意要写在[mysqld]范围内才会生效 查看binlog存放日志文件目录 show variables like %datadir%; 查看binlog文件名 show master logs; 将binlog转换成sql mysqlbinlog --no-defaults …

个性化-强连接-更智能 伙伴云5大扩展功能详解

伙伴云【小伙开麦】直播间「“伙”速上新」栏目上线,由产品经理讲解产品伙伴云5大功能模块,旨在让业务流程更加清晰、让用户使用操作更加便捷、让业绩转化更高效、让生态连接更顺畅…… 在不断的技术创新过程中,进一步助力数字化转型&#x…

CAN bus off ——ISO11898

什么是can bus off? CAN总线关闭(CAN bus off)是指CAN节点进入一种错误状态,无法继续正常的数据通信。当一个CAN节点的错误计数器超过了设定的阈值时,该节点将进入CAN总线关闭状态。在这种状态下,该节点将停…

opencv-24 图像几何变换03-仿射-cv2.warpAffine()

什么是仿射? 仿射变换是指图像可以通过一系列的几何变换来实现平移、旋转等多种操作。该变换能够 保持图像的平直性和平行性。平直性是指图像经过仿射变换后,直线仍然是直线;平行性是指 图像在完成仿射变换后,平行线仍然是平行线。…

Android 耗时分析(adb shell/Studio CPU Profiler/插桩Trace API)

1.adb logcat 查看冷启动时间和Activity显示时间: 过滤Displayed关键字,可看到Activity的显示时间 那上面display后面的是时间是指包含哪些过程的时间呢? 模拟在Application中沉睡1秒操作,冷启动情况下: 从上可知&…

Python小练习实践

在交互模式下,可以不写print;默认调用 print(repr(a)) 文件模式,必须写print。 If语句 Input语句,返回的是字符串 len(),长度 小练习: 输入一个自己的生日月份 写个if 和else 判断一下当月是否是你的生日…

celery----异步发送短信

1.目录结构 -celery.py --------必须叫这个名字 放定时任务、里面实例化得到app对象 -home_task.py和user_task.py. ----------就是针对不同app的任务文件 2.各文件的内容 celery.py from datetime import timedeltafrom celery import Celery from celery.schedu…

PLL设计-仿真

线性相位裕锁相环模型 out都代表噪声,PFDCP的gain是Icp/2π,LF的传输函数是,VCO传输函数是,分频器增益是1/N 首先不考虑噪声模型 阶跃响应-查看建立时间,下面两条线是上面两条线减1V后的结果,方便查看。 放大上图,输入…

支持向量机(SVM)---代码实现

# coding: utf-8## 感知器模型流程 """1.初始化w, b2.遍历所有训练数据集中选出的误分类点&#xff1a;2.1.如果y ! sign(wxb) 或者 y*(wxb) < 0 则为误分类点2.2 根据误分类点计算&#xff1a;w_new w_old -alpha * 对w的梯度&#xff0c; b_new b_old - …

共聚焦显微镜在光学膜片表面微结构测量中的应用

在当前的液晶显示器行业&#xff0c;TFT液晶面板因其显示反应速度更快更适用于动画及显像显示的特点而得到广泛应用。作为配套组件的背光显示模组&#xff0c;为其供应充足且分布均匀的光源亮度&#xff0c;使得液晶面板的显像功能能够正常工作。液晶面板消费需求的不断增长带动…

【vue3】获取字典数据,封装为公共方法

前言: 后台项目中基本上都有字典管理页面,Vue封装字典数据的主要目的是为了方便数据的管理和使用 不管在哪个页面使用下拉框,el-select的options数据源需要通过调用接口获取到,不同的数据源调用不同的接口,引入和使用都是不小的工作量,如果使用字典数据管理,不管同个页…

(打造透明屏展厅全攻略)如何打造透明OLED显示屏展厅?

透明OLED显示屏是一种具有透明度的显示屏幕&#xff0c;可以在不使用时完全透明&#xff0c;从而实现空间与显示的完美融合。在展厅设计中&#xff0c;透明OLED显示屏可以带来全新的视觉体验&#xff0c;使展品更加生动、立体&#xff0c;展示效果更佳。下面是打造透明OLED显示…

Hi3536网络应用调优

目录 1. 为什么UDP接收或发送会丢包? 2. 使用 socket 接口时&#xff0c;如何正确工作在非阻塞模式下&#xff1f; 3. TOE 使能及使用注意事项 4. TOE 模式下使用 socket 接口时的注意事项 1. 为什么UDP接收或发送会丢包? 用户态应用程序在接收 UDP 数据时&#xff0…

什么是SVM算法?硬间隔和软间隔的分类问题

SVM全称是supported vector machine(支持向量机)&#xff0c;即寻找到一个超平面使样本分成两类&#xff0c;并且间隔最大。 SVM能够执行线性或⾮线性分类、回归&#xff0c;甚至是异常值检测任务。它是机器学习领域最受欢迎的模型之一。SVM特别适用于中小型复杂数据集的分类。…

梯度提升树的基本思想

目录 1. 梯度提升树 VS AdaBoost 2. GradientBoosting回归与分类的实现 2.1 GradientBoosting回归 2.2 GradientBoosting分类 1. 梯度提升树 VS AdaBoost 梯度提升树&#xff08;Gradient Boosting Decision Tree&#xff0c;GBDT&#xff09;是提升法中的代表性算法&#…

kali中的一些工具简单使用dirb、netdiscover、ffuf、nmap、sqlmap、hydra、msfconsole

kali渗透常用工具 dirbnetdiscover介绍 ffuf介绍 nmap介绍 sqlmaphydra介绍 msfconsolemsfconsole上线windows dirb dirb <目标URL> <字典文件> [选项] <目标URL>&#xff1a;要扫描的目标URL&#xff0c;例如&#xff1a;http://example.com。 <字典文件…

nodeiis部署步骤

用nodejs写了一个express框架的接口&#xff0c;记录一下它如何在iis上发布部署 nodeiis部署步骤 第一步 安装nodejs 安装步骤&#xff1a;略确认安装结果&#xff1a;在cmd执行命令node -v效果图 第二步 安装iisnode 下载地址&#xff1a;iisnode下载地址&#xff08;htt…

Sentinel针对IP限流

改造限流策略的针对来源选项 import com.alibaba.csp.sentinel.adapter.spring.webmvc.callback.RequestOriginParser; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class Senti…

php 中文字符串反转【字符串】

场景&#xff1a;英文字符串反转 使用 方法 strrev($str) ,但是中文字符串怎么反转呢&#xff1f; 代码 /*** 多字符 字符串反转* param string $string 字符串* param string $encoding 编码* php > 7.4 否则需要实现 mb_str_split 多字符变成字符串*/ function mb_str…