【Redis7】--1.概述、安装和配置

文章目录

  • 1.Redis概述
    • 1.1Redis是什么
    • 1.2Redis与MySQL的关系
    • 1.3Redis功能
    • 1.4Redis优势
  • 2.Redis的安装和配置

1.Redis概述

1.1Redis是什么

Redis全称 远程字典服务器(Remote Dictionary Server),它是完全开源的,使用ANSIC语言编写遵守BSD协议,是一种高性能的基于内存的Key-Value数据库,提供了丰富的数据结构,例如,String、Hash、List、Set、SortedSet等等。数据是存在内存中的,同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等多种功能特性,提供了主从模式、Redis Sentinel和Redis Cluster集群架构方案

1.2Redis与MySQL的关系

按照二八原则,主流的应用对系统的请求80%都是查询,20%是增删改,客户端查询数据先查询Redis数据库,如果命中了则将查询结果返回,如果没有命中再去MySQL数据库查询,然后将数据返回并且将数据写入Redis数据库,下次再查询该数据时就可以从Redis数据库中获取

image-20230907205712232

1.3Redis功能

  • 缓存

Redis常用于作为高速缓存,将常用的数据存储在内存中,提高访问速度和响应时间,减轻后端数据库的压力。Redis支持多种数据结构,可以根据数据的类型和特点选择合适的数据结构进行缓存。

  • RDB和AOF持久化

redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务。

即使设备断电了,数据也不会丢失,重启后重新从硬盘恢复数据。

  • 高可用架构搭配:单机、主从、哨兵、集群

支持大规模数据存储和高并发访问。

  • 解决缓存穿透、击穿、雪崩

1.对查询不存在的数据请求进行过滤,比如采用Bloom Filter进行缓存预热或者对查询请求进行缓存穿透保护

2.对于热点数据的访问,可以采用分布式锁等方法对缓存进行保护,避免缓存击穿

3.对于缓存雪崩,可以采用缓存预热、缓存过期时间随机化、缓存数据的多级缓存等方法进行缓解

  • 分布式锁

Redis支持原子操作和过期时间等特性,可以用于实现分布式锁

可以保证在分布式系统中同一时刻只有一个客户端可以持有锁,从而保证共享资源的互斥访问

例如,可以使用Redis的SETNX命令实现基于key的锁,使用Lua脚本实现基于value的锁

  • 消息队列

redis提供了多种队列模式:List队列、Pub/Sub队列、Stream队列

  • 计数器和排行榜

Redis支持原子操作,可以用于实现计数器和排行榜功能

例如,可以使用Redis的INCR命令实现计数器功能,使用ZADD命令实现有序集合排行榜功能

除了以上几个方面,Redis还可以用于实现限流、地理位置服务、实时统计等应用场景。总之,Redis是一个功能丰富、性能优秀的内存数据库,适合于需要高性能、高可用、高并发的应用场景。

image-20230907211204709

1.4Redis优势

  • 性能极高 -Redis能读的速度是110000次/秒,写的速度是81000次/秒
  • Redis数据类型丰富,不仅仅支持简单的key-value类型的数据,同时还提供list,zset,set,hash等数据结构的存储
  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用
  • Redis支持数据的备份,即master-slave模式的数据备份

image-20230907211314500

2.Redis的安装和配置

Redis官网下载地址:https://redis.io/download/
Redis官方中文文档:https://www.redis.com.cn/documentation.html
Redis命令使用手册官方版:https://redis.io/commands/
Redis命令使用手册中文版:http://www.redis.cn/commands.html
Redis命令参考手册:http://doc.redisfans.com/
Redis版本第二位数字如果是偶数,就是稳定版,如果是奇数,就是激进版

(1)检测Linux安装环境

Linux环境安装Redis必须先具备gcc编译环境,gcc是linux下的一个编译程序,是C程序的编译工具。

gcc -v	# 查看是否安装了gcc
yum -y install gcc-c++	# 若是没有安装可以使用此命令安装

(2)下载Redis

下载redis-7.0.10.tar.gz,地址:https://redis.io/download/,下载后使用工具将它传到Linux系统的/opt目录下,然后解压。对于第三方软件,一般都安装在/opt目录下。

tar -zxvf redis-7.0.10.tar.gz	# 解压到当前目录

(3)安装redis

这里是redis的安装目录,进入解压目录执行make命令先编译后安装

cd redis-7.0.10	# 切换到解压目录
make	# 编译
make install	# 安装

(4)查看redis服务安装目录

这里是redis服务的安装目录,redis服务默认安装目录在/usr/local/bin

装在这个目录下的文件,相当于配置了PATH变量,在任何目录都可以启动redis服务。

Linux下的/usr/local类似windows系统的C:\Program Files。

image-20230907215033829

redis-benchmark:性能测试工具
redis-check-aof:修复有问题的aof文件
redis-check-dump:修复有问题的rdb文件
redis-cli:redis提供的命令行客户端
redis-sentinel:redis的哨兵启动脚本
redis-server:redis的服务端启动脚本

(5)修改配置文件

回到解压目录,对redis.conf文件进行修改

image-20230907220846554

修改配置文件前,先对文件进行备份

mkdir /myredis	#创建目录
cp redis.conf /myredis/redis7.conf	# 将配置文件复制到myredis目录并命名为redis7.conf

修改redis.conf配置文件,改完后确保生效,记得重启,记得重启

  • 默认daemonize no 改为 daemonize yes,表示开启后台启动
  • 默认protected-mode yes 改为 protected-mode no,需要别人来连接redis服务器的话需要改成no
  • 默认bind 127.0.0.1 直接注释掉(默认bind 127.0.0.1只能本机访问)或改成主机IP地址,否则影响远程IP连接
  • 添加redis密码,配置 requirepass 123456 即可(123456为设置的密码)

(6)启动redis服务

启动配置文件,redis-server直接启动是前台启动,后面加上配置文件启动是后台启动。

任意目录输入redis-server都可以直接启动redis服务。

不过这样启动redis需要一直处在这个界面,也就是前台启动,不能进行其他操作,我们希望它在后台运行,后台启动需要指定配置文件

redis-server /opt/redis-7.0.10/redis.conf	# 指定配置启动:后台启动redis服务
ps -ef | grep redis		# 通过则个指令可以查看正在运行的redis服务

image-20230907220746045

(7)连接redis服务

通过redis的redis-cli可执行程序来连接redis服务

redis-cli -a 123456 -p 6379	# -a表示输入密码,-p表示端口号,本机访问可以省略不写,默认是6379
ping	# 输入ping后回车输出pong说明连接成功
set key1 helloworld		# 设置键key1的值为helloworld
get key1		# 获取key1的值
quit	# 输入quit回车退出前台客户端,服务并没有退出

image-20230907221053266

也可以不输入 -a 然后输入密码,可以直接进去 输入 auth 【密码】进行登录验证

image-20230907221137454

(8)停止redis服务

利用redis-cli来执行 shutdown 命令停止 Redis 服务,因为之前配置了密码,因此需要通过 -u 来指定密码

# 单实例关闭
redis-cli -a 123456 shutdown 	
#多实例关闭,指定端口关闭
redis-cli -a 123456 -p 6379 shutdown
# 也可以使用   kill -9 进程号  终止对应的进程

image-20230907222404008

(9)redis卸载

ls -l /usr/local/bin/redis-*
rm -rf /usr/local/bin/redis-*

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

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

相关文章

国际版阿里云/腾讯云:弹性高性能计算E-HPC入门概述

入门概述 本文介绍E-HPC的运用流程,帮助您快速上手运用弹性高性能核算。 下文以创立集群,在集群中安装GROMACS软件并运转水分子算例进行高性能核算为例,介绍弹性高性能核算的运用流程,帮助您快速上手运用弹性高性能核算。运用流程…

W25Q16_Flash手册总结

文章目录 前言一、概述&特点1、概述W25Q16BV1、特点2、引脚说明3、内部结构示意图4、操作指令5、操作示例时序图1、写入启用指令:Write Enable(06h)2、读取状态寄存器指令:Read Status Register-1(05h)…

设计模式-10--多例模式(Multition pattern)

一、什么是多例模式(Multition pattern) 多例模式(Multition pattern)是单例模式的一种扩展,它属于对象创建类型的设计模式。在多例模式中,一个类可以有多个实例,并且这些实例都是该类本身。因…

哈希的应用——布隆过滤器

文章目录 前言1. 布隆过滤器提出2. 布隆过滤器概念3. 布隆过滤器的插入多哈希函数映射减少冲突结构定义及set(插入)函数实现 4. 布隆过滤器的查找test(查找)函数实现布隆过滤器允许误判 5. 布隆过滤器的适用场景6. 如何选择布隆过…

linux系统中u-boot命令的EMMC和SD卡操作命令分析

​今天给大家详细的介绍一下u-boot命令之EMMC和SD卡操作的mmc命令使用。希望这篇文章对大家有所帮助。 uboot 支持 EMMC 和 SD 卡,因此也要提供 EMMC 和 SD 卡的操作命令。一般认为 EMMC和 SD 卡是同一个东西,所以没有特殊说明,统一使用 MMC …

windows安装向量数据库milvus

本文介绍windows下安装milvus的方法。 一.Docker安装 1.1docker下载 首先到Docker官网上下载docker:Docker中文网 官网 1.2.安装前前期准备 先使用管理员权限打开windows powershell 然后在powershell里面输入下面那命令,启用“适用于 Linux 的 Windows 子系统”…

Java反序列化漏洞复现(weblogic和s2)

文章目录 weblogic启动环境漏洞扫描漏洞复现 S2-045启动环境漏洞复现 前提条件: 1.安装docker docker pull medicean/vulapps:j_joomla_22.安装docker-compose docker run -d -p 8000:80 medicean/vulapps:j_joomla_23.下载vulhub weblogic 启动环境 到下面路径下…

AP51656 LED车灯电源驱动IC 兼容替代PT4115 PT4205 PWM和线性调光

产品描述 AP51656是一款连续电感电流导通模式的降压恒流源 用于驱动一颗或多颗串联LED 输入电压范围从 5V 到 60V,输出电流 可达 1.5A 。根据不同的输入电压和 外部器件, 可以驱动高达数十瓦的 LED。 内置功率开关,采用高端电流采样设置 …

第64步 深度学习图像识别:多分类建模误判病例分析(Pytorch)

基于WIN10的64位系统演示 一、写在前面 上期我们基于TensorFlow环境介绍了多分类建模的误判病例分析。 本期以健康组、肺结核组、COVID-19组、细菌性(病毒性)肺炎组为数据集,基于Pytorch环境,构建SqueezeNet多分类模型&#xf…

Prometheus+Grafana 搭建应用监控系统

一、背景 完善的监控系统可以提高应用的可用性和可靠性,在提供更优质服务的前提下,降低运维的投入和工作量,为用户带来更多的商业利益和客户体验。下面就带大家彻底搞懂监控系统,使用Prometheus Grafana搭建完整的应用监控系统。 …

Pandas数据中的浅拷贝与深拷贝

pandas库主要有两种数据结构DataFrames和Series。这些数据结构在内部用索引数组和数据数组表示,索引数组标记数据,数据数组包含实际数据。现在,当我们试图复制这些数据结构(DataFrames和Series)时,我们实际…

【Github】git本地仓库建立与远程连接

文章目录 前言一、git简介二、git下载2.1下载地址 三、git安装3.1安装3.2 配置3.3 config设置(增删改查) 四.github与git连接——本地Git仓库4.1 建本地的版本库4.2 源代码放入本地仓库4.3提交仓库 五、github与git的连接——远程连接5.1 创建SSH Key5.2…