https://redis.io/
中文官网:http://www.redis.cn/
Remote Dictionary Server(远程字典服务)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库提供了丰富的数据结构,例如String、Hash、List、Set、SortedSet等等。数据是存在内存中的,同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等多种功能特性提供了主从模式、Redis Sentinel和Redis Cluster集群架构方案
与传统数据库关系(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数据类型能够快速实现这些复杂的排行榜。
比如小说网站对小说进行排名,根据排名,将排名靠前的小说推荐给用户
下载地址:https://redis.io/download/
我使用的是redis-7.2.0
redis的在线测试地址:https://try.redis.io/
命令参考:http://doc.redisfans.com/
推荐使用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路径下,修改配置文件
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
redis保护模式,为no的话别的机器可以直接连接本机的redis服务
如果为yes的话,别的机器只能通过设置bind添加服务器ip才能进行访问,或者通过密码方式进行访问,也即是设置参数requirepass,从而达到可以从其他机器访问的目标。
暂时设置为no,方便实用,上线的时候一定设置为yes。
配置完成之后就可以启动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的服务
再将/usr/local/lib目录下的redis相关的文件删除即可