Redis基础篇-002 初识Redis

news2024/12/23 15:01:20

1、认识NoSQL

1.1 概念

NoSQL是一个非关系型数据库。

常见的NoSQL有:Redis、MongoDB

1.2 NoSQL与SQL的区别

类别SQLNoSQL
数据结构结构化非结构化
数据关联关联非关联
查询方式SQL非SQL
事务特性ACIDBASE
存储方式磁盘内存
扩展性垂直水平
使用场景1)数据结构固定
2)相关业务对数据安全性、一致性要求较高
1)数据结构不固定
2)对一致性、安全性要求不高
3)对性能要求

2、认识Redis

2.1 概念

        Redis诞生于2009年全称是Remote Dictionary Server,远程词典服务器,是一个基于内存的键值型NoSQL数据库。

2.2 特征

  1. 键值型(key-value型),value支持多种不同数据结构,功能丰富
  2. 单线程,每个命令具备原子性
  3. 低延迟,速度快(基于内存,IO多路复用)
  4. 支持数据持久化
  5. 支持主从集群、分片集群
  6. 支持多语言客户端(java,python,c)

3、安装Redis

Redis官网:Redis

官网只提供了linux版本的redis软件。

3.1 准备一台虚拟机,安装CentOS7

  • 准备虚拟机

本次安装Redis是基于Linux系统下安装的,因此需要一台Linux服务器或者虚拟机。

Ps:由于提供的CentOS操作系统为mini版,因此需要自行配置网络,如果您使用的是自己购买的服务器,请提前开放6379端口,避免后续出现的莫名其妙的错误!

  • 操作系统:CentOS-7-x86_64-Minimal-1708
  • Redis:redis-6.2.6.tar

  • xShell及xFtp:家庭/学校免费 - NetSarang Website

mac电脑安装虚拟机教程-CSDN博客

3.2 下载客户端软件(mac电脑)

redis-desktop-manager-0.8.3-2550.dmg_免费高速下载|百度网盘-分享无限制

将dmg下载下来后,设置-->安全与隐私--->点击信任该软件

3.3 下载Redis

redis-6.2.6.tar

Redis是基于C语言编写的,因此首先需要安装Redis所需要的gcc依赖

yum install -y gcc tcl

安装成功如下图所示:

3.3.1 正式安装Redis

  • redis-6.2.6.tar上传至/usr/local/src目录
  • 在xShell中cd/usr/local/src目录执行以下命令进行解压操作
  • 解压成功后依次执行以下命令
cd redis-6.2.6
make
make install
  • 安装成功后打开/usr/local/bin目录(该目录为Redis默认的安装目录)

4、启动Redis

Redis的启动方式有很多种,例如:前台启动后台启动开机自启

4.1 前台启动(不推荐)

这种启动属于前台启动,会阻塞整个会话窗口,窗口关闭或者按下CTRL + C则Redis停止。不推荐使用。 

  • 安装完成后,在任意目录运行 redis-server 命令即可启动Redis
redis-server
  • 启动成功如下图所示

4.2 后台启动(不推荐)

如果要让Redis以后台方式启动,则必须修改Redis配置文件,配置文件所在目录就是之前我们解压的安装包下

  • 因为我们要修改配置文件,因此我们需要先将原文件备份一份 :
cd /usr/local/src/redis-6.2.6
cp redis.conf redis.conf.bck
  • 然后修改redis.conf文件中的一些配置
# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes 
# 密码,设置后访问Redis必须输入密码
requirepass 1325
  • Redis其他常用配置
# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"
  • 启动Redis
# 进入redis安装目录 
cd /usr/local/src/redis-6.2.6
# 启动
redis-server redis.conf
  • 停止Redis服务
# 通过kill命令直接杀死进程
kill -9 redis进程id
# 利用redis-cli来执行 shutdown 命令,即可停止 Redis 服务,
# 因为之前配置了密码,因此需要通过 -a 来指定密码
redis-cli -a 132537 shutdown

4.3 开机自启(推荐)

我们也可以通过配置来实现开机自启

  • 首先,新建一个系统服务文件 
vi /etc/systemd/system/redis.service
  • 将以下命令粘贴进去
[Unit]
Description=redis-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-user.target
  • 然后重载系统服务
systemctl daemon-reload
  • 现在,我们可以用下面这组命令来操作redis了
# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis
  • 执行下面的命令,可以让redis开机自启
systemctl enable redis

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

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

相关文章

Uniapp + Vue3 封装请求工具挂载全局

新建request.js工具类 const http {// baseUrl 地址baseUrl: http://localhost:8080,// 请求方法request(config) {// config:请求配置对象,具体参照uniapp文档config beforeRequest(config)// 请求地址拼接config.url this.baseUrl config.url// 异…

WIN10安装gurobi给matlab使用(记录)

https://www.gurobi.com/downloads/gurobi-software/ 这是以前的matlab路径,需要修改成新的 使用校园网激活一下 运行gurobi_setup Google报错信息,发现mathwork官方的解释是:找不到相关的dll文件,所以mex无效。 解决方案&…

Unity | Shader基础知识(第八集:案例<漫反射材质球>)

目录 一、本节介绍 1 上集回顾 2 本节介绍 二、什么是漫反射材质球 三、 漫反射进化史 1 三种算法结果的区别 2 具体算法 2.1 兰伯特逐顶点算法 a.本小节使用的unity自带结构体。 b.兰伯特逐顶点算法公式 c.代码实现——兰伯特逐顶点算法 2.2 代码实现——兰伯特逐…

Windows下结束进程

可以用命令 netstat -ano | findstr :8088 直接找到端口号为8088的进程PID; 根据PID进程号结束进程 :taskkill /pid 14696 -t -f ;

研发提效必备技能:手把手教你基于Docker搭建Maven私服仓库

沉淀,成长,突破,帮助他人,成就自我。 大家好,我是冰河~~ 在研发的过程中,很多企业都会针对自身业务特点来定制研发一些工具类库,但是这些工具类库又不会对外公开,那如何在组织内部共…

如何使用支付宝的沙箱环境在本地配置模拟支付并发布至公网测试

文章目录 前言1. 下载当面付demo2. 修改配置文件3. 打包成web服务4. 局域网测试5. 内网穿透6. 测试公网访问7. 配置二级子域名8. 测试使用固定二级子域名访问 前言 在沙箱环境调试支付SDK的时候,往往沙箱环境部署在本地,局限性大,在沙箱环境…

oracle23安装并 配置内网代理(安装nginx oracle23)

安装nginx步奏如下 1.安装所需依赖 yum install -y gcc gcc-c pcre pcre-devel zlib zlib-devel openssl openssl-devel automake autoconf libtool make2. 解压nginx压缩包,进入解压后的nginx目录 tar -xvf ./nginx-1.24.0.tar.gzcd ./nginx3. 以下编译命令中增…

深度学习或机器学习的模型部署相关的初步了解及分析

机器学习-深度学习 部署相关资料文档 这是上班之后的第一个文档,由于项目原因需要去了解一些和模型部署相关的知识,所以就简单了解了一下相应的部署引擎和框架,也是刚刚开始学习,如果有什么写的不对的欢迎大家交流,看…

2024年3月电子学会青少年编程等级考试时间安排

1考试方式 1. 在线居家考试(全国); 2. 对于符合线下考试要求的考试服务网点,经地方实地调研报学会总部批准后,可组织线下考试。 2报名时间 报名时间:2023年12月21日-2024年3月12日16:00; 考…

Web API ------- requestAnimationFrame

官方文档 requestAnimationFrame 是什么 window.requestAnimationFrame() 告诉浏览器——你希望执行一个动画,并且要求浏览器在下次重绘之前调用指定的回调函数更新动画。该方法需要传入一个回调函数作为参数,该回调函数会在浏览器下一次重绘之前执行 …

HTML输出特殊字符详细方法

以下是部分特殊字符代码表,它们的完整应用代码格式为:&#;用下面的四位数字替换,将得到对应的符号。(注意:应用这些代码,编辑器应该切换到HTML模式) ☏260f ☎260e ☺263a ☻263b ☼263c ☽…

【UML】第6篇 用例图(1/3)

目录 一、什么是用例图 二、参与者 2.1 什么是参与者 2.2 如何识别参与者 2.3 参与者之间的关系 从今天开始,就到了最干的各种的图的梳理和学习了,未来AI就能编码了,把业务建模和设计的基本功打好,也许能和AI和平相处呢。 一…

第三节TypeScript 基础类型

1、typescript的基础类型 如下表: 数据类型 关键字 描述 任意类型 any 生命any的变量可以赋值任意类型的值 数字类型 number 整数或分数 字符串类型 string 使用单引号(‘’)或者双引号(“”)来表示字符串…

nodejs微信小程序+python+PHP购物商城网站-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

3D模型格式转换工具如何实现高性能数据转换?请看CAE系统开发实例!

​ 客户背景 DP Technology是全球知名的CAM的供应商,在全球8个国家设有18个办事处。DP Technology提供的CAMESPRIT系统是一个用于数控编程,优化和仿真全方面的CAM系统。CAMESPRIT的客户来自多个行业,因此支持多种CAD工具和文件格式显得格外重…

区块链技术与应用 【全国职业院校技能大赛国赛题目解析】第一套区块链系统部署与运维

第一套区块链系统部署与运维题目 环境 : ubuntu20 fisco : 2.8.0 子任务1-2-1: 搭建区块链系统并验证 题意: 要求搭建一条四节点的区块链系统,我们选择使用fisco作为此次测试的链子 我们使用build_chain.sh进行构建单机四节点,并且使用官方的默认端口【正式比赛大概率不…

java使用面向对象实现图书管理系统

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN …

算法基础之筛质数

筛质数 核心思想:筛法求质数 埃氏筛法: 每次用 2 3 4…. p-1 筛 2 - p之间的数出现2 3 4 …的倍数时 去掉(4实际已经被去掉 不会用4去筛)当2~p-1的数都没有筛掉p 说明p是质数 优化: 只用2~p-1中质数筛 线性筛法: 核心: n只会被其最小质因子筛掉 每一个合数都只…

如何使用AI智能写作API接口批量处理数据

有大量的数据,想使用AI智能写作工具进行批量操作处理,有没什么好方法? 可以使用简数采集器,支持自动采集数据,也支持批量导入数据,然后调用第三方AI智能写作API接口进行批量处理(例如&#xff…

『 C++ 』二叉树进阶OJ题

文章目录 根据二叉树创建字符串 🦖🥩 题目描述🥩 解题思路🥩 代码 二叉树的层序遍历(分层遍历) 🦖🥩 题目描述🥩 解题思路🥩 代码 二叉树的层序遍历(分层遍历)Ⅱ 🦖&…