文章目录
- 一、redis官网
- 二、redis是什么
- 三、能干嘛
- 总体功能一图概述
- 优势
- 小总结
- 三、Redis的下载与安装
- Redis的安装
- Redis迭代演化和Redis7新特性
- 新特性部分说明
- Redis的安装
- 安装步骤总结
- 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数据类型能够快速实现这些复杂的排行榜。
比如小说网站对小说进行排名,根据排名,将排名靠前的小说推荐给用户
总体功能一图概述
优势
- 性能极高-Redis能读写的速度是110000次/秒,写的速度是81000次/秒
- Redis数据类型丰富,不仅仅支持简单的key-value类型的数据,同时还支持list,set,zset,hash等数据结构的存储
- Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
- 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 build-essential
建议安装的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.0make && 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路径下,修改配置文件
- 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
- protected-mode
redis保护模式,为no的话别的机器可以直接连接本机的redis服务
如果为yes的话,别的机器只能通过设置bind添加服务器ip才能进行访问,或者通过密码方式进行访问,也即是设置参数requirepass,从而达到可以从其他机器访问的目标。
暂时设置为no,方便实用,上线的时候一定设置为yes。
- bind 127.0.0.1
直接注释掉(默认bind 127.0.0.1只能本机访问)或改成本机IP地址,否则影响远程IP连接
- 添加redis密码
改为 requirepass 你自己设置的密码
配置完成之后就可以启动redis服务了
redis-server /myredis/redis7.conf #使用修改好的配置文件启动redisredis-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相关的文件删除即可