Redis教程——Redis入门

news2025/1/13 17:23:27

Redis

Redis是一种开源内存中数据结构存储,用于数据库、缓存、消息代理和流引擎,其提供了丰富的数据结构,例如:字符串、哈希、列表、有序集合等。

Redis内置了复制、Lua脚本、LRU驱逐、事务和不同级别的磁盘持久化,并通过Redis哨兵和自动分区提供了高可用性。

Redis通常用于一些特定场景,需要和MySql一起搭配使用,如下图所示:

在查询时,客户端首先去Redis查询并返回数据,当Redis没有数据时,客户端就去MySql数据库查询数据,返回数据给客户端并更新数据到Redis。

Redis数据操作主要在内存,MySQL数据操作主要在磁盘,而磁盘比内存慢了10w倍,所以当我们使用Redis时,大大提高了我们的查询速度。

Redis优点:

  • 性能极高,Redis能读的速度是110000次/秒,写的速度是81000次/秒;

  • 数据类型丰富,不仅仅支持简单的key-value类型的数据,同时还提供字符串、哈希、列表、集合等数据结构的存储;

  • 数据的持久化,可以将内存中的数据保存在磁盘中,重启时可以再次加载进行使用;

  • 数据备份,即master-slave模式的数据备份。

下载安装

简单了解了Redis后,我们开始下载安装Redis,大家尽量在Linux系统上安装操作Redis,没有服务器的可以用VMware虚拟机操作。

下载

进入Redis官网下拉找到7.0.15版本,点击下载即可,如下图所示:

这里我们通过xshell把下载的压缩包放在到云服务器上,如下图所示:

这里服务器Linux系统是centos7.9,由于Linux环境安装Redis必须具备gcc编译环境,所以在安装前,执行如下代码查看是否存在gcc编译环境:

getconf LONG_BIT   # 查看系统是几位
gcc -v        # 查看gcc版本 

如下图所示:

假如没gcc编译环境,可以执行如下代码安装:

yum -y install gcc-c++

安装

执行如下命令安装Redis:

tar -zxvf redis-7.0.15.tar.gz  # 解压缩redis
cd redis-7.0.15     # 进入解压后的文件夹
make && make install   # 安装redis

安装结束后,如下图所示:

注意:Redis默认安装在/usr/local/bin目录下,如下图所示,

其中:

  • redis-benchmark:性能测试工具,服务启动后运行该命令,查看性能如何;

  • redis-check-aof:修复有问题的AOF文件;

  • redis-check-dump:修复有问题的dump.rdb文件;

  • redis-cli:客户端操作入库;

  • redis-sentinel:redis集群使用;

  • redis-server:Redis服务器启动命令;

conf配置

Redis自带的conf配置文件在解压目录中的/opt/redis-7.0.15中,当我们启动Redis时,会先读取该redis.conf配置文件,获取指定内存大小、保存文件路径等等信息。

为了不破坏默认的redis.conf文件,我们在解压的文件夹中创建myRedis文件夹并拷贝默认的redis.conf配置文件到该文件夹中,代码如下:

mkdir /myRedis    # 创建myRedis文件夹
cp redis.conf /myRedis/redis7.conf # 拷贝redis.conf到myRedis文件夹的redis7.conf文件中
cd myRedis
ll

如下图所示:

进入该redis7.conf文件,主要修改如下地方:

daemonize yes   # 将no改成yes

daemonize是启动方式,Redis默认是通过前端启动的,通过修改为yes,将Redis修改为后端启动。

protected-mode no   # 将yes改为no

protected-mode是Redis的保护设置,默认是不允许其他外界连接,将其参数改为no时,允许外界连接。

 bind 127.0.0.1 -::1    # 注释该代码

将该代码注释后,其他网络也可以访问本机的Redis。

requirepass 123456   # 为Redis设置密码123456

默认情况下,Redis是没有密码的,我们需要为Redis添加密码。

注意:redis7.conf有成百上千的行代码,我们可以通过斜杠加关键字符来找我们想要的数据,例如我们要找daemonize,只需输入/daemonize即可,如下图所示:

启动

完成了Redis配置文件的修改后,通过如下命令指定配置文件启动Redis,

redis-server /myRedis/redis7.conf   # 启动Redis服务
ps -ef|grep redis|grep -v grep    # 查看Redis状态
redis-cli -a 123456 -p 6379     # 启动Redis客户端,其中123456为Redis密码,6379是Redis启动端口

如下图所示:

我们简单测试一下,如下图所示:

这样就成功启动并使用Redis了。

关闭

关闭Redis有两种情况,当在客户端内时,直接执行如下命令,即可关闭Redis,

SHUTDOWN

如下图所示:

远程关闭,执行如下代码:

redis-cli -a 123456 shutdown   # 关闭Redis
redis-cli -p 6379 shutdown    # 关闭指定端口的Redis 

如下图所示:

好了,Redis教程——Redis入门就讲到这里了,下篇文章我们学习Redis教程——数据类型。

公众号:白巧克力LIN

该公众号发布Python、数据库、Linux、Flask、Django、自动化测试、Git、算法、前端、服务器等相关文章!

- END -

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

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

相关文章

软考76-上午题-【面向对象技术3-设计模式】-创建型设计模式01

一、创建型设计模式一览 二、创建型设计模式 2-1、创建型设计模式的概念 一个类创建型模式使用继承改变被实例化的类; 一个对象创建型模式将实例化委托给另一个对象。 对应java的new一个对象。 2-2、简单工厂模式(静态工厂方法) 简单工厂…

XDP学习笔记

XDP的使用与eBPF程序分不开,因此要了解学历XDP,须知道什么是eBPF、什么是XDP。 概念 eBPF BPF(Berkeley Packet Filter)是一种灵活且高效的数据包过滤技术,最初由 BSD Unix 中的网络子系统引入;BPF 允许用…

基于模型分割的联邦学习

加速局部模型的拟合:根据网络状态的不同,提出一种基于模型分割的端边云协同训练算法,加速FL本地训练;设计一种多轮迭代再聚合的模型聚合算法,加速FL聚合 采用分支DNN对数据进行训练 DNN分割是指利用深度神经网络&…

(学习日记)2024.03.13:UCOSIII第十五节:基于时基列表的时延操作(持续更新)

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

虚拟宇宙如何重塑酒店和旅游业的未来

全球酒店业正在积极适应新兴的元宇宙,早期采用者率先推出了创新的数字解决方案。企业越来越多地采用颠覆性技术,从最初的非接触式服务和自动聊天机器人的客户服务转变为变革性的转变。随着数字环境的不断发展,世界各地的酒店业参与者正在投资…

1.python安装

1.检查是否已经安装python 打开cmd 输入 python --version查看是否有返回版本,没有返回则环境变量未设置好,或者未安装 2.下载安转python https://www.python.org/downloads/windows/ 勾选配置环境变量路径 安装成功

资深老鸟经验,性能测试-性能指标分析总结,一篇策底概全...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 性能测试指标 1、…

【微服务】分布式调度框架PowerJob使用详解

目录 一、前言 二、定时任务调度框架概述 2.1 为什么需要定时任务调度框架 2.2 定时任务调度使用场景 三、PowerJob 介绍 3.1 PowerJob 概述 3.2 PowerJob 功能特性 3.3 PowerJob 应用场景 3.4 PowerJob 与其他同类产品对比 四、PowerJob 部署 4.1 PowerJob 架构 4.…

微信小程序Skyline模式自定义tab组件胶囊与原生胶囊平齐,安卓和ios均自适应

进入下面小程序可以体验效果&#xff1a; 至于原理的话&#xff0c;解释起来毕竟麻烦&#xff0c;各位可以看源码自己分析。其实很简单&#xff0c;就算计算布局。很多网上公布的布局&#xff0c;都不能正常自适应。在下这个是完美可以的 1、WXML <view class"weui…

Flask学习(四):路由转换器

默认的路由转换器&#xff1a; string &#xff08;缺省值&#xff09; 接受任何不包含斜杠的文本int接受正整数float接受正浮点数 path类似 string&#xff0c;但可以包含斜杠uuid接受 UUID 字符串 代码示例&#xff1a; app.route(/user/<username>) def show_u…

【Jetson Nano】jetson Nano安装pytorch and torchvision

Pytorch是著名的人工智能框架&#xff0c;在部署人工智能项目的时候&#xff0c;就需要在嵌入式开发板上安装pytorch&#xff0c;下面就详解介绍关于安装pytorch的步骤 1.更换apt源 首先检查apt源是否已经是国内镜像源 输入&#xff1a; sudo apt-get update如果不是国内镜像…

[Python初阶]2255.统计是给定字符串前缀的字符串数目

目录 2255.统计是给定字符串前缀的字符串数目 ①.题目 ②.问题分析 ③.startswith()方法理解 与 说明 Ⅰ.定义和用法 Ⅱ.语法 ④.问题解决 ⑤总结 2255.统计是给定字符串前缀的字符串数目 ①.题目 ②.问题分析 需求:统计列表words中,是字符串s的前缀的字符串的数目. 解…

FMR-NET:一种用于弱光图像增强的快速多尺度残差网络

这是本人发表的第二篇文章&#xff0c;目前已经见刊。欢迎大家引用。 文章链接&#xff1a;FMR-Net: a fast multi-scale residual network for low-light image enhancement | Multimedia Systems (springer.com) 代码链接&#xff1a;Github CSDN 这篇文章的特色在于&…

1、鸿蒙学习-为应用/服务进行签名

针对应用/服务的签名&#xff0c;DevEco Studio为开发者提供了自动签名方案&#xff0c;帮助开发者高效进行调试。也可选择手动方式对应用/服务进行签名&#xff0c;如果使用了需要ACL的权限&#xff0c;需采用手动方式进行签名。 自动签名 说明 使用自动签名前&#xff0c;请…

碳素光线疗法与中医

看得见的穴位碳素光线疗法 最近日本的医疗随着科学技术的发达&#xff0c;在基础研究、临床各领域取得了显著的发展。日本人的平均寿命比战前大幅延长&#xff0c;结核及其他疑难杂症、癌症等疾病也在逐渐被压制。其中&#xff0c;作为癌症的辅助疗法&#xff0c;日本癌症学会等…

【Docker】一文趣谈Docker

&#x1f3e1;浩泽学编程&#xff1a;个人主页 &#x1f525; 推荐专栏&#xff1a;《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》《项目实战》 &#x1f6f8;学无止境&#xff0c;不骄不躁&#xff0c;知行合一 文章目录 …

[MySQL]数据库基础

文章目录 1.连接服务器2.理解mysql3.初见数据库4.主流数据库5.服务器&#xff0c;数据库&#xff0c;表关系6.数据逻辑存储7.MySQL架构8.SQL分类9.存储引擎 1.连接服务器 mysql -h 127.0.0.1 -P 3306 -u root -p -h&#xff1a;指明登录部署mysql服务的主机。没有写 -h 127.0.…

Unity WebGL服务器标头的问题

目录 现象&#xff1a; 报错文本: 原因: 解决方案: 现象&#xff1a; 打包前&#xff0c;ProjectSetting 压缩选项设置为Brotli, 将打包的WebGL部署到阿里云OSS环境后&#xff0c;运行弹框提示错误. 报错文本: Unable to parse Build/WebGL.framework.js.br! This canha…

【LabVIEW FPGA入门】单周期定时循环

单周期定时循环详解 单周期定时环路是FPGA编程中最强大的结构之一。单周期定时循环中的代码更加优化&#xff0c;在FPGA上占用更少的空间&#xff0c;并且比标准While循环中的相同代码执行得更快。单周期定时环路将使能链从环路中移除&#xff0c;以节省FPGA上的空间。…

491.非递减子序列

这是一个Java程序&#xff0c;实现了一个名为Solution的类&#xff0c;该类用于查找给定整数数组中所有严格递增子序列。以下是代码的逐行注释&#xff1a; // 定义一个解决方案类 class Solution {// 初始化结果集&#xff0c;用于存储满足条件的所有严格递增子序列List<L…