百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

Redis教程——Redis入门(redis 教程)

mhr18 2025-07-21 16:06 11 浏览 0 评论

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教程——数据类型。

相关推荐

风险突出的高危端口汇总 一网打尽 !

高危端口一直是攻击者关注的焦点,了解这些端口的风险、攻击方式及防护策略至关重要。一、文件传输类端口1.TCP20/21:FTP服务端口FTP(文件传输协议)用于文件的上传和下载。其明文传输特性使得...

9. Redis Operator (2) —— Sentinel部署

0.简介上一篇,我们借由Redis的单机部署,学习了一下Operator的基本使用,今天,我们在此基础上,部署一下Redis的Sentinel模式。Sentinel本质上是为了解...

Spring Boot3 整合 Redis 后解决缓存穿透问题全解析

在当今互联网软件开发领域,构建高效、稳定的应用系统是每个开发者的追求。对于从事互联网软件开发的人员来说,SpringBoot和Redis都是极为常用的技术工具。当在SpringBoot3...

Spring Boot3 整合 Redis 后解决缓存雪崩问题全解析

在当今互联网软件开发领域,高并发、高性能的系统需求日益增长。对于从事互联网软件开发的人员来说,构建高效的缓存机制至关重要。SpringBoot3作为一款流行的Java框架,与Redis这一...

Sa-Token 多账号体系下Redis持久化问题

在使用Sa-Token框架实现多账号体系时,当后端服务重启后,系统报错"未能获取对应StpLogic,type=XXX"。这种情况通常发生在配置了Redis持久化存储的场景下...

外贸独立站缓存迷惑行为:你的Redis可能正在制造更多问题!

上周帮一个深圳卖家排查网站卡顿,发现他们用Redis缓存了整站HTML——"你们这是把缓存当备份用呢?"结果每次更新产品都要手动清空缓存,编辑小哥差点辞职...最近对象缓存圈两大魔教...

别再用top和htop了,这几款终端神器让你的服务器状态一目了然

当top命令成为性能瓶颈:一个深夜运维的真实困境凌晨三点,服务器告警短信突然炸响。老王盯着屏幕上top命令的黑白界面,CPU使用率飙升到90%却找不到具体进程,内存占用数据分散在不同列,磁盘I/O更是...

Redis学习笔记:管道(Pipelining)技术详解(第三章)

在掌握了Redis的基础命令后,如何进一步提升批量操作的效率?管道(Pipelining)技术是解决这一问题的关键。本章将深入解析管道的工作原理、使用场景及与其他技术的对比,帮助你在高并发场景下优化R...

Redis8.0有哪些新特性(redis最新特性)

Redis8.0引入了多项新特性和功能增强,以下是其中的一些亮点:1、数据结构:向量集合(VectorSet):这是一种新的数据类型,专为向量相似性搜索设计。它基于有序集(sortedset)...

Netty 的对象池(netty objectdecoder)

Netty是一个高性能的网络通信框架,广泛用于构建高并发、低延迟的TCP/UDP服务。为了提升性能,Netty内部大量使用了对象池(ObjectPool)技术来减少频繁创建和销毁对象带来的...

Redis学习笔记:核心命令与数据类型操作指南(第二章)

上一章我们梳理了Redis的核心应用场景与选型逻辑,本章将聚焦Redis的命令体系,从键操作到各数据类型的核心命令,帮你快速掌握Redis的"操作语法"。一、键(Key)命令:Redi...

Redis面试核心考点总结(覆盖 90% 的 Redis 面试场景)

一、基础核心数据类型与适用场景String:缓存、计数器(INCR)、分布式锁(SETNX)Hash:存储对象(用户信息、商品属性)List:消息队列(LPUSH/BRPOP)、时间线Set:标...

Redis ListPack有哪些具体应用场景?

Redis的Listpack是一种紧凑的数据结构,适用于存储少量数据。它被设计为ziplist的一种改进版本,旨在解决ziplist中存在的连锁更新问题,并提供更高效的内存使用和访问速度。以下是Lis...

SpringBoot实现单点登录(SSO)的4种方案

单点登录(SingleSign-On,SSO)是企业应用系统中常见的用户认证方案,它允许用户使用一组凭证访问多个相关但独立的系统,无需重复登录。对于拥有多个应用的企业来说,SSO可以显著提升用户体验...

刚刚,给学妹普及了登录的两大绝学

今天跟大家聊一个比较基础的话题,就是实现登录的方式有哪些?适合刚入行的朋友。华山之Session绝学Session我们称之为会话控制,是一种在服务器端保持会话状态的解决方案。通俗点来讲就是客户...

取消回复欢迎 发表评论: