Linux下安装Redis

Redis安装及配置

针对不同的操作系统,Redis有Linux版和Windows版,这里先从Linux 版开始讲解。

Redis服务的安装环境

  • 服务器操作系统 :CentOS 7.9 64位

  • Redis 版本:6.2.14

安装Redis

Redis的官网地址是:https://redis.io/,在这里可以下载Linux版本的Redis,下载地址:https://download.redis.io/releases/redis-6.2.14.tar.gz 登录Linux服务器,通过wget命令下载

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

Linux平台一般将软件安装到(/usr/local)目录。

将下载的安装包解压,得到包含安装文件的redis-6.2.14目录,如下图:

[root@localhost local]# tar zxvf redis-6.2.14.tar.gz

在这里插入图片描述

进入redis-6.2.14目录,执行编译和安装命令,命令如下。

[root@localhost local]# cd redis-6.2.14
[root@localhost redis-6.2.14]# make PREFIX=/usr/local/redis install

注意:

PREFIX参数是配置安装时的顶级目录名,一般而言,如果不配置,该选项默认为/usr/local,安装后可执行默认放在/usr/local/bin中,库文件默认放在/usr/local/lib中,配置文件默认放在/usr/local/etc中,其他的资源文件则放在/usr/local/share中,各类文件的放置位置比较分散。上述命令通过配置PREFIX参数,指定将存放各类文件的目录都集中创建在/usr/local/redis目录中。2. 由于安装操作系统时所选择的组件可能不同,因此在安装过程中可能会出现如下错误提示。在这里插入图片描述
解决方法为安装gcc-c++组件。

[root@localhost redis-6.2.14# yum -y install gcc-c++ 

当出现下图,则表示安装成功

在这里插入图片描述

安装过程中会根据PREFIX参数的设置,在/usr/local/目录下创建redis/bin目录结构,其中包含与Redis相关的可执行文件,如下图所示,其中redis-server用于启用Redis服务,redis-cli用于启动操作Redis的客户端。

在这里插入图片描述

最后,/usr/local/redis目录下创建etc目录,并将/usr/local/redis-6.2.14目录下的redis.config文件复制到其中,此文件为Redis的配置文件。

[root@localhost redis]# mkdir etc //创建etc目录
[root@localhost redis]# mkdir log //创建log目录,存放下面配置的logfile日志
[root@localhost redis]# cd etc    //进入etc目录
[root@localhost etc]# cp /usr/local/redis-6.2.14/redis.conf ./

配置Redis

为了能够更好的使用Redis服务,安装完成后还需要对Redis进行多方面的配置。

1.开放Redis端口

Redis默认占用6379端口,需要在防火墙中设置开放对此端口的访问,执行如下命令。

[root@localhost etc]# firewall-cmd --permanent --zone=public --add-port=6379/tcp
[root@localhost etc]# firewall-cmd --reload
2.设置Redis配置文件

在安装时,将配置文件复制到了/usr/local/redis/etc目录,编辑此文件中的配置指令可控制Redis 运行时的行为。

[root@localhost etc]# vim /usr/local/redis/etc/redis.conf
2.1 设置Redis服务可以监听的请求IP地址

使用bind配置指定可以设置监听一个或多个IP地址的请求,多个IP 地址用空格分隔,配置方式如下。

bind 127.0.0.1 -::1  ==> bind 0.0.0.0 

**注意:**在redis.config中bind的默认配置为bind 127.0.0.1,表示Redis仅能监听来自本机的IPv4请求,若将其修改为 bind 0.0.0.0 或使用“#”将bind指令注释掉,则可监听所有IP地址的请求。

如果Redis服务运行于Internet上,则绑定到所有IP地址是危险的,建议仅绑定与应用相关的客户端IP地址。

2.2 设置Redis监听的端口
daemonize no ==> daemonize yes

使用daemonize配置指令可以设置Redis是否作为守护进程(即后台服务)运行。在redis.conf中该指令默认设置为daemonize no,即在默认情况下,Redis不作为守护进程,而是作为会话进程运行。在我种情况下,执行Redis启动命令后不会返回到命令提示符,且不能关闭会话,否则Redis服务会停止。如果需要Redis作为守护进程于后台运行,则将其修改为daemonize yes即可。

2.3 设置Redis是否作为守护进程运行

使用logfile配置指令可以指定Redis的日志文件路径,需要指定到文件名。配置方式如下。

logfile "" ==> logfile "/usr/local/redis/log/redis.log"
2.4设置Redis数据库的数量(可选)

使用database配置指令可以设置Redis数据库的数量,默认设置的数量是16,对应的dbid范围是0~15。连接Redis时可以通过dbid选择要使用的数据库。在不同数据库中可以使用相同名称的key。

Redis中不同的可选数据库是以命名空间的形式管理,所有数据库实际上都存储在同一个数据文件中。实际上,Redis划分数据库主要用于在必要的情况下分隔同一应用中存储的key,而不是为了在Redis中区分多个不相关的应用。

2.5 设置Redis的工作目录(可选)

使用dir配置指定可以设置Redis的工作目录,即Redis的数据文件的存储目录。在redis.conf中默认设置为dir “./”,即在Redis安装目录下。可将其修改至其他路径,配置方式如下。

dir /data/redisdata/
2.6 设置Redis的访问密码(可选)

使用requirepass配置指令可以设置Redis的访问密码。在redis.conf中该指令默认为注释状态,即访问redis服务默认不需要密码。删除该指令前的”#”和空格解除注释,即可设置访问密码,配置方式如下。

requirepass 123456

Redis 具有的高性能特性,使得可以在很短的时间内并行尝试大量密码,因此应使用一个高强度的密码,使这种攻击不可行。

3. Redis基本使用

启动Redis

通过以上的学习,已经安装好了Redis,接下来将学习如何启动Redis服务及如何使用Redis自带的客户端连接Redis。

3.1启动Redis服务

启动Redis服务需要执行/usr/local/redis/bin/目录下的redis-server命令。为了便于观察启动/停止Redis服务时的日志信息,可以另外开启一个会话连接至Redis所在的服务器,并在此会话中跟踪Redis日志内容的变化。

[root@localhost bin]# cd /usr/local/redis/bin
[root@localhost bin]# ./redis-server ../etc/redis.conf

其中,…/etc/redis.conf为启动Redis服务所依据的配置文件

查看日志

//-f 循环读取
//-n<行数> 显示文件的尾部 n 行内容
[root@localhost log]# tail -f -n 500      
[root@localhost log]# tail -n 100 redis.log

如下图所示,则表示启动成功

在这里插入图片描述

3.2 启动Redis客户端

使用redis-server命令启动Redis服务后,即可使用redis-cli命令启动Redis客户端访问Redis服务。

redis-cli命令的部分选项如下表所示

选项说明
-h 服务器主机地址,默认为127.0.0.1
-p 服务端口,默认为6379
-a Redis服务访问密码
-n 所要连接的数据库id,默认为0

最简单的redis-cli命令连接到本地Redis服务中的dbid为0的数据库。

[root@localhost bin]# ./redis-cli

在这里插入图片描述

Redis常用命令

启动Redis客户端后,即可在其中执行Redis的各种操作命令。

3.3 Redis常用命令的介绍
命令示例备注
authauth password认证密码
setset key value [ex seconds|px milliseconds] [nx|xx]设置key以保存valueex:设置过期时间,单位为秒;px:设置过期时间,单位为毫秒nx:仅在key不存在时设置该keyxx:仅在key已经存在时设置该key
getget key获取key对应的value
existsexists key1 [key2 …]判断指定的key是否存在
keyskeys pattern返回和pattern匹配的所有key
deldel key1 [key2…]删除指定的key
renamerename key newkey将key重命名为newkey
expireexpire key timeout在key上设置过期时间timeout
ttlttl key以秒为单位返回key的剩余生存时间
persistpersist key删除key上现有的超时设置
selectselect dbid选择指定的逻辑数据库
flusdbflusdb删除当前所选数据库中的所有key
flushallflushall删除现有所有数据库中的key
quitquit要求服务器关闭连接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值