Redis的介绍、安装和配置

一、redis官网

https://redis.io/
中文官网:http://www.redis.cn/

二、redis是什么

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

三、能干嘛

1.分布式缓存,挡在mysql之前的带刀护卫
请添加图片描述

与传统数据库关系(mysql)
Redis是key-value数据库(NoSQL一种),mysql是关系数据库
Redis数据操作主要在内存,而mysql主要存储在磁盘
Redis在某一些场景使用中要明显优于mysql,比如计数器、排行榜等方面
Redis通常用于一些特定场景,需要与Mysql一起配合使用
两者并不是相互替换和竞争关系,而是共用和配合使用

2.内存存储和持久化(RDB+AOF)

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

3.高可用架构搭配

单机、主从、哨兵、集群

4.缓存穿透、击穿、雪崩
5.分布式锁
6.队列

Reids提供list和set操作,这使得Redis能作为一个很好的消息队列平台来使用。
我们常通过Reids的队列功能做购买限制。比如到节假日或者推广期间,进行一些活动,
对用户购买行为进行限制,限制今天只能购买几次商品或者一段时间内只能购买一次。也比较适合适用。

7.排行版+点赞

在互联网应用中,有各种各样的排行榜,如电商网站的月度销量排行榜、社交APP的礼物排行榜、小程序的投票排行榜等等。Redis提供的zset数据类型能够快速实现这些复杂的排行榜。
比如小说网站对小说进行排名,根据排名,将排名靠前的小说推荐给用户

总体功能一图概述

请添加图片描述

优势

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

小总结

请添加图片描述

三、Redis的下载与安装

Redis的安装

下载地址:https://redis.io/download/
我使用的是redis-7.2.0
redis的在线测试地址:https://try.redis.io/
命令参考:http://doc.redisfans.com/

Redis迭代演化和Redis7新特性

请添加图片描述

新特性部分说明

请添加图片描述

Redis的安装

推荐使用linux安装Redis

我使用的docker(docker安装需要在配置docker容器的时候将所需要用到的端口映射出来,方便使用)安装的Redis,docker教程可以查看这篇文章:https://blog.csdn.net/xdznb_/article/details/132697915
linux安装redis必须要先具备gcc编译环境
什么是gcc:

gcc是linux下的一个编译程序,是C程序的编译工具。
GCC(GNU Compiler Collection) 是 GNU(GNU’s Not Unix) 计划提供的编译器家族,它能够支持 C, C++, Objective-C, Fortran, Java 和 Ada 等等程序设计语言前端,同时能够运行在 x86, x86-64, IA-64, PowerPC, SPARC和Alpha 等等几乎目前所有的硬件平台上。鉴于这些特征,以及 GCC 编译代码的高效性,使得 GCC 成为绝大多数自由软件开发编译的首选工具。虽然对于程序员们来说,编译器只是一个工具,除了开发和维护人员,很少有人关注编译器的发展,但是 GCC 的影响力是如此之大,它的性能提升甚至有望改善所有的自由软件的运行效率,同时它的内部结构的变化也体现出现代编译器发展的新特征。

可以使用命令 gcc -v 查看linux是否具有gcc编译环境
请添加图片描述

ubuntu可以直接运行该命令安装所需的gcc编译环境

sudo apt install gcc

建议安装的redis版本为6.0.8之上
redis-server -v 可查看安装的redis版本
请添加图片描述
下载命令

wget https://download.redis.io/releases/redis-7.2.0.tar.gz

也可以从官网下载tar.gz文件上传到服务器虚拟机之中
1.将下载好的redis-7.2.0.tar.gz文件放入linux中的/opt目录
2.进入/opt目录解压redis-7.2.0.tar.gz文件

tar -zxvf redis-7.2.0.tar.gz

3.进入解压后的目录执行make命令

cd redis-7.2.0

make && make install

等待命令执行完成,出现这句话则代表安装成功
请添加图片描述
默认的安装路径是

/usr/local/bin

安装完成之后可以查看:
请添加图片描述

redis-benchmark: 性能测试工具,服务启动后运行该命令,能查看自己电脑性能如何
redis-check-aof: 修复有问题的AOF文件,rdb和aof
redis-check-dump: 修复有问题的dump.rdb文件
redis-cli: 客户端,操作入口
redis-sentinel: redis集群使用
redis-server: redis服务器启动命令

可以将默认的redis.conf文件复制到一个路径下,比如/myredis,这样即便配置文件修改错了,也能找回原文件

cd redis-7.2.0 #进入redis目录

mkdir /myredis #在根目录创建文件

cd redis.conf /myredis/redis7.conf #将配置文件复制到创建的路径下

修改配置文件:

进入/myredis路径下,修改配置文件

  1. daemonize

redis.conf配置文件中daemonize守护线程,默认是NO。
daemonize是用来指定redis是否要用守护线程的方式启动.
yes:redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。
no: 当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。
通常都要讲daemonize no改为yes
请添加图片描述

  1. protected-mode

redis保护模式,为no的话别的机器可以直接连接本机的redis服务
如果为yes的话,别的机器只能通过设置bind添加服务器ip才能进行访问,或者通过密码方式进行访问,也即是设置参数requirepass,从而达到可以从其他机器访问的目标。
暂时设置为no,方便实用,上线的时候一定设置为yes。
请添加图片描述

  1. bind 127.0.0.1

直接注释掉(默认bind 127.0.0.1只能本机访问)或改成本机IP地址,否则影响远程IP连接
请添加图片描述

  1. 添加redis密码

改为 requirepass 你自己设置的密码
请添加图片描述

配置完成之后就可以启动redis服务了

redis-server /myredis/redis7.conf #使用修改好的配置文件启动redis

redis-cli -a 密码 #启动redis客户端

就可以执行操作了:
请添加图片描述

安装步骤总结

gcc -v #查看gcc版本
sudo apt install build-essential #若没有则需要安装gcc环境

cd /opt #进入redis压缩文件目录
tar -zxvf redis-7.2.0.tar.gz #将redis解压到当前目录

cd redis-7.2.0/ #进入redis目录
make && make install # 执行make && make install 等待安装完成

mkdir /myredis #创建目录存储配置文件
cp redis.conf /myredis/redis7.conf #将配置文件复制到创建的目录下

vim /myredis/redis7.conf # 修改配置文件

redis-server /myredis/redis7.conf # 使用指定配置文件启动redis
redis-cli -a 密码 # 启动redis客户端

Redis的卸载

先停止redis的服务
再将/usr/local/lib目录下的redis相关的文件删除即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值