Redis基础篇-002 初识Redis

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.mzph.cn/news/237005.shtml

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

相关文章

Docker安装(CentOS)+简单使用

Docker安装(CentOS) 一键卸载旧的 sudo yum remove docker* 一行代码(自动安装) 使用官方安装脚本 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 启动 docker并查看状态 运行镜像 hello-world docker run hello-world 简单使用 使用 docker run …

docker部署个人网站项目记录(前后端分离)

背景 项目是前后端分离,前端有三部分,分别是 个人网站(blog)网站后台管理系统(admin)数据大屏(datascreen) 后端是基于nodejs写的后台服务 后台接口服务(todo-nodejs…

Github项目推荐:在线rename

项目地址 GitHub - JasonGrass/rename: 在线文件批量重命名 项目简介 一个开源的在线重命名文件工具。利用了新的浏览器API获取文件句柄,在不上传文件的情况下对文件进行重命名。可以作为前端文件操作api学习范例。 项目截图

FLIP 翻转动画

FLIP技术可以让我们的动画更加流畅,同时也能降低复杂动画的开发难度 名词解释,FLIP是几个英文单词的缩写,简单介绍一下: F:Fist —— 一个元素的起始位置 L:Last —— 另一个元素的终止位置,…

《每天一分钟学习C语言·五》

1、 给一个字符数组输入字符串 char arr[10]; gets[arr]; //gets函数接收回车符,如果直接按回车,gets函数会把回车符转变成空字符作为结束,即arr[0]’\0’;2、 文件结尾标志ctrlz表示返回NULL 自己定义的头文件里面一般有宏定义和声明&#…

Mysql索引事务(面试高频)

文章目录 目录 文章目录 前言 一 . 索引 1.1 概念 1.2 作用 1.3 使用场景 1.4 存储引擎 二 . 事务 2.1 事务的概念 2.2 事务四大特性 前言 大家好,今天给大家绍一下mysql索引和事务 一 . 索引 1.1 概念 索引是一种特殊的文件,包含着对数据表中的所有记录的引用指针…

Linux基础(第三部分)

目录 一、查看文件显示命令 1、cat:查看文件内容;上下合并文件 2、标准输入与标准输出: 3、例题:如何合并两个文件 4、tac 就是反方向查看 5、rev 把一行倒过来 6、hexdump 查看硬件设备 7、more和less 8、查看文件内容…

鸿蒙原生应用/元服务开发-Stage模型能力接口(八)

一、说明 ExtensionAbility是特定场景扩展能力的基类,提供系统配置更新回调和系统内存调整回调。本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。本模块接口仅可在Stage模型下使用。 二、导入模块 .imp…

c++导入外部的依赖开源库

使用git submodule git submodule add https://github.com/username/subproject.git使用cmake导入 FetchContent 实际使用的话,有下面的三点总结 关于FetchContent,若并需要修改 配置以及编译的默认值的时候,推荐首要使用该方法。include(FetchContent)set(JSON_C_TAG jso…

JVM知识总结,一定要记住它。

1、知识点汇总 JVM是Java运行基础,面试时一定会遇到JVM的有关问题,内容相对集中,但对只是深度要求较高 其中内存模型,类加载机制,GC是重点方面.性能调优部分更偏向应用,重点突出实践能力.编译器优化 和执行模式部分偏向于理论基础,重点掌握知识点. 需了解 内存模型各部分作用…

用最通俗的语言讲解 TCP “三次握手,四次挥手”

目录 一. 前言 二. TCP 报文的头部结构 三. 三次握手 3.1. 三次握手过程 3.2. 为什么要三次握手 四. 四次挥手 4.1. 四次挥手过程 4.2. 为什么要四次挥手 五. 大白话说 5.1. 大白话说三次握手 5.2. 大白话说四次挥手 六. 总结 一. 前言 TCP 是一种面向连接的、可靠…

AI代码翻译神器,用AI翻译代码,轻松学习不同编程语言,已开源!

体验地址,github地址和部署地址在文章底部 AI代码翻译器的优势 近年来,随着技术的快速进步,人工智能技术展现出了在各个领域发挥作用的巨大潜力。AI代码翻译器作为一项创新技术,为开发者带来了全新的可能性。这项技术运用人工智…

TS 类型断言

Typescript允许你覆盖它的判断,并且能以任何你想要的方式分析它,这种机制被称为类型断言。 类型断言的两种方式: 1.as关键字 interface SquareConfig {color?: string;width?: number; }function createSquare(config: SquareConfig) {/…

Flink系列之:背压下的检查点

Flink系列之:背压下的检查点 一、Checkpointing under backpressure二、缓冲区 Debloating三、非对齐 Checkpoints四、对齐 Checkpoint 的超时五、限制六、故障排除 一、Checkpointing under backpressure 通常情况下,对齐 Checkpoint 的时长主要受 Che…

【MATLAB】数据拟合第13期-基于最小二乘支持向量机的拟合

有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 基于最小二乘支持向量机的拟合算法是一种数学优化技术,它通过最小化误差的平方和寻找数据的最佳函数匹配。这种算法在曲线拟合中应用广泛,包括线性拟合和非线性拟合…

[网络安全]密码字典快速生成——在线网站

目录 1.密码字典在线生成器one点击链接 ​编辑2.密码字典在线生成器two点击链接 3.密码字典在线生成器three点击链接 个人推荐生成器1,因为复制黏贴好用。 1.密码字典在线生成器one点击链接 2.密码字典在线生成器two点击链接 3.密码字典在线生成器three点击链接 看…

JavaGUI期末速成版

前言 宇宙无责声明,本系列记录的JavaGUI编程都是十分精简的,内容只取常用的、套路的、应付期末考试的。 目录大纲: JavaGUI(但期末速成版)之JFrame和JDialog-CSDN博客 JavaGUI(但期末速成版)之容…

智能优化算法应用:基于饥饿游戏算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于饥饿游戏算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于饥饿游戏算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.饥饿游戏算法4.实验参数设定5.算法结果6.…

【重点】【贪心】55.跳跃游戏

题目 法1&#xff1a;贪心 class Solution {public boolean canJump(int[] nums) {int maxIndex nums.length - 1;int curMaxIndex 0;for (int i 0; i < nums.length; i) {if (i < curMaxIndex) {curMaxIndex Math.max(i nums[i], curMaxIndex);if (curMaxIndex &…

Ubuntu中基础命令使用

前言 以下指令测试来自于Ubuntu18.04 如果有说的不对的&#xff0c;欢迎指正与补充 以下指令为我学习嵌入式开发中使用过最多的指令 目录 前言 1 ls 首先我们进入到Linux操作系统中 2 touch创建一个文件 3 pwd查看当前路径 4 创建目录 5 删除文件 6 cd 目录跳转 0…