Redis从入门到入门(上)

1.Redis概述

文章目录

    • 1.Redis概述
      • 1.1 什么是Redis
      • 1.2 Redis的应用场景
    • 2.Linux下Redis的安装与使用
      • 2.1 Redis下载
      • 2.2 Redis的启动
      • 2.3 Redis配置
      • 2.4 连接Redis

1.1 什么是Redis

Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供测试数据,50个并发
执行100000个请求,读的速度是110000次/s,写的速度是81000次/s ,且Redis通过提供多种键值数据类
型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:

  • 字符串类型 string
  • 散列类型 hash
  • 列表类型 list
  • 集合类型 set
  • 有序集合类型 sortedset

1.2 Redis的应用场景

  • 缓存(数据查询、商品库存等)
  • 任务队列(商品秒杀、抢购、12306等)
  • 网站访问统计
  • 数据过期处理(可以精确到毫秒)
  • 分布式集群架构中的session分离

2.Linux下Redis的安装与使用

2.1 Redis下载

1.官方下载:https://redis.io/downloads/

通过wget命令直接下载redis,省去上传的麻烦

yum -y install wget
wget https://download.redis.io/releases/redis-6.2.9.tar.gz

2.安装gcc 9编译器

因为是编译官方的redis源码进行使用,redis是采用c语言编写,所以我们要使用gcc编译器对redis进行编译

yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash

注意:

  1. 以上的命令需要全程保持联网状态,因为需要联网安装下载源和gcc相关的安装包

  2. 在执行第二条命令的时候会有error:Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64

问题的原因是:CentOS7的SCL源在2024年6月30日停止维护了。当SCL源里面默认使用了centos官方的地址,无法连接,需要替换为阿里云

  1. 解决办法:

1)重命名原来的文件

cd /etc/yum.repos.d/
mv CentOS-SCLo-scl.repo CentOS-SCLo-scl.repo.bak
mv CentOS-SCLo-scl-rh.repo CentOS-SCLo-scl-rh.repo.bak

2)编辑文件并保存

vim CentOS-SCLo-scl-rh.repo

需要粘贴的内容:

[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

原文连接:https://blog.csdn.net/xcdm100/article/details/140713208

3.解压并编译已下载的redis安装包

解压到/home路径下

tar -zxvf tar -zxvf redis-6.2.9.tar.gz -C /home

进入redis根目录

cd /home/redis-6.2.9/

编译redis源码

make

注意:

  1. 遇到问题:zmalloc.h:50:10: fatal error: jemalloc/jemalloc.h: 没有那个文件或目录

  2. 解决办法:使用以下命令编辑

make MALLOC=libc

成功编译

image-20240829170728708

2.2 Redis的启动

进入redis目录下的src目录

cd /home/redis-6.2.9/src

启动redis服务器

./redis-server

启动成功(默认端口:6379)

image-20240829171550279

启动过程中如果遇到问题:# Failed listening on port 6379 (TCP), aborting.

是因为端口号被占用

可以使用命令:ps -ef | grep redis查看端口使用情况,杀死这个端口:kill -9 端口号,再使用命令:./redis-server启动即可成功

2.3 Redis配置

配置redis后台启动并设置连接密码

vim /home/redis-6.2.9/redis.conf 

输入::/daemon*查找daemon*的位置

将no修改为yes:daemonize yes后台启动

image-20240829173100550

设置连接密码为123456:requirepass 123456

image-20240829173351638

启动redis,需要让其根据配置文件启动

./redis-server /home/redis-6.2.9/redis.conf 

查看是否启动

ps -ef | grep "redis*"

image-20240829173619600

查看端口6379占用情况

netstat -anp|grep 6379

image-20240829173714136

如果想要停止redis服务

./redis-cli -a 123456 shutdown

2.4 连接Redis

./redis-cli -h 127.0.0.1 -p 6379 -a 123456

-h:代表连接的主机
-p:代表连接的端口号
-a:代表密码

./redis-cli -p 6379 -a 123456

image-20240829175604351

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

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

相关文章

MATLAB生成COE文件

MATLAB代码 % 参数设置 N 4096; % 数据点数量 t linspace(0, 2*pi, N); % 时间向量 width 12; % 位宽% 正弦波,幅度在0到5之间 sine_wave 2.5 * sin(t) 2.5;% 三角波,幅度在0到5之间 tri_wave 5 * (1 - abs(mod(t/(2*pi)*4, 2) - 1));% 方波&…

springboot集成七牛云上传文件

大体思路 上传 前端上传MultipartFile file 文件 进行名字空值校验和格式校验,大概就是判断后缀是不是属于jpg.png 生成唯一uuid名称,然后拿着这个文件名和图片文件File调接口 接口参数为 输入流inputstream,将file化流传输文件名上传t…

多线程+连接池+代理 运行一段时间线程阻塞,如何解决??

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

<Rust>egui学习之小部件(四):如何在窗口中添加滚动条Scroll部件?

前言 本专栏是关于Rust的GUI库egui的部件讲解及应用实例分析,主要讲解egui的源代码、部件属性、如何应用。 环境配置 系统:windows 平台:visual studio code 语言:rust 库:egui、eframe 概述 本文是本专栏的第四篇博…

今日算法:蓝桥杯基础题之“切面条”

你好同学,我是沐爸,欢迎点赞、收藏、评论和关注!个人知乎 从今天开始,一起了解算法,每日一题,从 JavScript 的技术角度进行解答,如果你对算法也感兴趣,请多多关注哦。 问题描述 一…

【深度学习与NLP】——深度卷积神经网络AlexNet

目录 一、卷积神经网络的发展历程 二、简要介绍 三、代码实现 四、缺点和过时的地方 一、卷积神经网络的发展历程 早期理论基础阶段(20 世纪 60 年代 - 80 年代): 1968 年,Hubel 和 Wiesel 通过对猫视觉神经的研究&#xff0…

Hibernate 批量插入速度慢的原因和解决方法

由于业务需要一次性连续写入超过10k条以上的新数据,当对象超过10个成员变量以后,整个写入过程居然需要长达35秒,这个速度是不能接受的,故此研究了一下怎么开启Hibernate批量写入的功能。 我这边使用的是Hibernate 5.6.15 在网上…

Python 从入门到实战3(列表的简单操作)

我们的目标是:通过这一套资料学习下来,通过熟练掌握python基础,然后结合经典实例、实践相结合,使我们完全掌握python,并做到独立完成项目开发的能力。 上篇文章我们通过python小栗子来学习python基础知识语法&#xff…

C语言中的“#”和“##”

目录 开头1.什么是#?2.什么是##?3.#和##的实际应用输出变量的名字把两个符号连接成一个符号输出根据变量的表达式…… 下一篇博客要说的东西 开头 大家好,我叫这是我58。在今天,我们要学一下关于C语言中的#和##的一些知识。 1.什么是#? #&#xff0…

《黑神话:悟空》:30%抽成真相

《黑神话:悟空》自建服务器出售?揭秘游戏界的30%抽成真相! 近年来,随着游戏行业的迅猛发展,游戏开发商与发行平台之间的利益分配问题逐渐成为业界关注的焦点。其中,《黑神话:悟空》作为一款备受…

JS基础之【基本数据类型与类型间的隐式显示转换】

🚀 个人简介:某大型国企高级前端开发工程师,7年研发经验,信息系统项目管理师、CSDN优质创作者、阿里云专家博主,华为云云享专家,分享前端后端相关技术与工作常见问题~ 💟 作 者:码…

streamlit+wordcloud使用pyinstaller打包遇到的一些坑

说明 相比常规的python程序打包,streamlit应用打包需要额外加一层壳,常规app.py应用运行直接使用 python app.py就可以运行程序了,但streamlit应用是需要通过streamlit命令来运行 streamlit app.py所以使用常规的pyinstaller app.py打包是…

云同步的使用

云同步技术是一种在多个设备或系统之间保持数据一致性的技术,它通常依赖于云存储服务来实现。在Java中,实现云同步功能通常需要与云服务提供商的API进行交互,如Amazon S3、Google Cloud Storage、Microsoft Azure Blob Storage等。 以下是一个…

秋风送爽,夏意未央|VELO Prevail Revo坐垫,一骑绿动起来吧~

夏末秋初,当第一片落叶缓缓飘落,是时候骑上你的自行车,迎接新的季节啦。带上维乐Prevail Revo坐垫,因为它独树一帜地采用EVA与回收咖啡渣精制而成的轻量发泡提升了减震性能,可以让你的每一次骑行都充满意义。    “…

虚幻引擎(Unreal Engine)技术使得《黑神话悟空传》大火,现在重视C++的开始吃香了,JAVA,Go,Unity都不能和C++相媲美!

虚幻引擎(Unreal Engine)火了黑神话游戏。 往后,会有大批量的公司开始模仿这个赛道! C 的虚拟引擎技术通常指的是使用 C 语言开发的游戏引擎,如虚幻引擎(Unreal Engine)等。以下是对 C 虚拟引…

【virtuoso】INV 原理图+前仿真 + 版图 + 后仿真

采用SMIC工艺,不同工艺版图窗口可能有差异 1. 原理图&前仿真 1.1 绘制原理图 PMOS: NMOS宽长比2:1 PMOS开启导通电阻大一点,这样设置,可以使得阈值电压是VDD/2 按 i,可以插入器件按p,可以放置端口 1.2…

【机器学习】聚类算法的基本概念和实例代码以及局部度量学习的概念和实例代码

引言 聚类算法在许多领域都有广泛的应用,例如数据挖掘、生物信息学、图像处理等。 文章目录 引言一、聚类算法1.1 K-Means算法1.2 DBSCAN算法1.3 层次聚类(Hierarchical Clustering)算法1.4 高斯混合模型(Gaussian Mixture Model&…

Web自动化测试实战--博客系统

🎥 个人主页:Dikz12🔥个人专栏:测试📕格言:吾愚多不敏,而愿加学欢迎大家👍点赞✍评论⭐收藏 目录 1.项目效果展示 2.编写web测试用例 3.自动化测试脚本开发 3.1创建空项目 引…

Web-gpt

AJAX AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML)是一种用于创建动态网页应用的技术。它允许网页在不重新加载整个页面的情况下,异步地从服务器请求数据,并将这些数据更新到网页上。这提高了用户体验…

大语言模型-GLM-General Language Model Pretraining

一、背景信息: GLM是2020-2021年由智谱AI研究并发布的预训练语言模型。 GLM是一种基于自回归空白填充的通用预训练语言模型。 GLM 通过添加二维位置编码和允许任意顺序预测空白区域,改进了空白填充预训练,在NLU任务上超越了 BERT 和 T5。 GL…