Redis学习路线(1)—— Redis的安装
一、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)建立连接

相关文章:
Redis学习路线(1)—— Redis的安装
一、NoSQL SQL VS NoSQL 1、名称 SQL 主要是指关系数据库。NoSQL 主要是指非关系数据库。 2、存储结构 SQL 是结构化的数据库,以表格的形式存储数据。NoSQL 是非结构化的数据库,以Key-Value(Redis),JSON格式文档&…...
《MySQL 实战 45 讲》课程学习笔记(五)
数据库锁:全局锁、表锁和行锁 根据加锁的范围,MySQL 里面的锁大致可以分成全局锁、表级锁和行锁三类。 全局锁 全局锁就是对整个数据库实例加锁。 MySQL 提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。当你需要…...
使用GADL对高程数据进行填洼
对于DEM数据中存在的洼地(sink)问题,可以使用GADL(Geospatial Data Abstraction Library)中的功能进行填洼操作。GADL是一个开源的GIS库,提供了许多对地理空间数据进行处理和分析的功能。 下面是使用GADL对…...
Spring Boot集成Swagger3.0,Knife4j导出文档
文章目录 Spring Boot集成Swagger3.0,Knife4j导出文档效果展示如何使用简要说明添加依赖添加配置类测试接口token配置位置 官网 说明情况 demo Spring Boot集成Swagger3.0,Knife4j导出文档 效果展示 如何使用 简要说明 Knife4j的前身是swagger-bootstrap-ui,前身swagger-boo…...
在.NET Framework中的连接字符串ConnectionStrings属性
在.NET Framework中,ConfigurationManager.ConnectionStrings属性是用来访问在Visual Studio IDE应用程序配置文件中配置的数据库连接字符串的。每个连接字符串在Visual Studio IDE配置文件中都以<add>元素的形式出现,该元素是<connectionStrin…...
kafka消费报错卡死:内存溢出OutOfMemoryError: Java heap space
文章目录 现象排查解决 现象 我们信控平台使用Java语言开发,Spring Cloud微服务架构,采用容器化部署,所有服务都部署在docker里面,使用docker-compose进行管理,使用portainer进行监控平台部署客户现场后,一…...
mac卸载与安装指定版本node
一、查看当前node.js版本 node -v 二、卸载当前node.js # 这里是卸载npm的 sudo npm uninstall npm -g# 这里是用来删除node创建的各种文件夹 sudo rm -rf /usr/local/lib/node sudo rm -rf /usr/local/lib/node_modules sudo rm -rf /var/db/receipts/org.nodejs.* sudo rm…...
机器学习深度学习——Dropout
👨🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——权重衰减 📚订阅专栏:机器学习&&深度学习 希望文章对你们有所帮助 Drop…...
Intel和AMD 与 x86,ARM,MIPS有什么区别?
先说amd和intel amd和Intel这俩公司的渊源很深,早期时Intel先是自己搞了个x86架构,然后amd拿到了x86的授权也可以自己做x86了。接着intel向64位过渡的时候自己搞了个ia64(x64架构)但是因为和x86架构不兼容市场反应极差࿰…...
QT编写的串口助手
QT编写的串口助手 提前的知识 创建UI界面工程 找帮助文档 添加串口的宏...
C语言字符串的处理
用惯了Java C#这些语言,C语言中处理字符串还是有些不习惯的,所以这里写一下学习笔记。 C中字符串就是字符数组,是指向字符的指针,并且以空字符 \0 结尾,字符串作为函数的参数传递时一般使用指针类型,使用数…...
Docker 阿里云容器镜像服务
阿里云-容器镜像服务ACR 将本地/服务器docker image(镜像)推送到 阿里云容器镜像服务仓库 1. 在容器镜像服务ACR中创建个人实例 2. 进入个人实例 > 命名空间 创建命名空间 3. 进入个人实例 > 镜像仓库 创建镜像仓库 4. 进入镜像仓库 > 基本信…...
【雕爷学编程】MicroPython动手做(20)——掌控板之三轴加速度6
知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…...
链路 聚合
静态链路聚合:多数内网使用 。非物理直连建议与BFD联动 动态链路聚合LACP:是公有协议、内网、二层专线接口都能使用,现网多数使用此方式链路 聚合 PAGP:思科私有协议,只支持思科设备使,现网多数不用...
DPN(Dual Path Network)网络结构详解
论文:Dual Path Networks 论文链接:https://arxiv.org/abs/1707.01629 代码:https://github.com/cypw/DPNs MXNet框架下可训练模型的DPN代码:https://github.com/miraclewkf/DPN 我们知道ResNet,ResNeXt,D…...
【转载】Gin框架优雅退出
转载自: https://juejin.cn/post/7212786062224146487 Gin是一个非常流行的Web框架,经常被用于构建高性能、易于维护的Web应用。在领域驱动设计(DDD)和微服务等方面也有广泛应用。但是,像其他应用程序一样,…...
【数字IC设计】VCS仿真DesignWare IP
DesignWare介绍 DesignWare是SoC/ASIC设计者最钟爱的设计IP库和验证IP库。它包括一个独立于工艺的、经验证的、可综合的虚拟微架构的元件集合,包括逻辑、算术、存储和专用元件系列,超过140个模块。DesignWare和 Design Compiler的结合可以极大地改进综合…...
【*1900 图论+枚举思想】CF1328 E
Problem - E - Codeforces 题意: 思路: 注意到题目的性质:满足条件的路径个数是极少的,因为每个点离路径的距离<1 先考虑一条链,那么直接就选最深那个点作为端点即可 为什么,因为我们需要遍历所有点…...
AutoSAR系列讲解(实践篇)10.5-通信管理模块
目录 一、ComM 1、内部唤醒 2、外部唤醒 二、CanSM 三、状态关联 之前讲解了BswM和EcuM,详细讲解了BswM的配置,而大部分的配置都在BswM中做了,EcuM的配置就很简单了,基本上勾一勾就ok了。下面我们 来讲解模式管理还可能用到的通信模块 一、ComM ComM就像一个通信的总…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...
