Linux 环境部署 Redis

下载Redis

进入官网找到下载地址:https://redis.io/download

右键 Download 按钮,选择复制链接。
进入到 Xshell 控制台(cd 到准备安装 redis 的目录),输入wget 将上面复制的下载链接粘贴上,如下命令,回车、等待下载完成

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

解压并安装Redis

解压

tar -zvxf redis-6.2.1.tar.gz

解压后在根目录上输入ls 列出所有目录会发现与下载redis之前多了一个redis-6.2.1.tar.gz文件和 redis-6.2.1的目录

移动redis目录

一般都会将redis目录放置到 /usr/local/redis目录,所以这里输入下面命令将目前在/root目录下的redis-5.0.7文件夹更改目录,同时更改文件夹名称为redis。

mv /root/redis-6.2.1 /usr/local/redis

cd 到/usr/local目录下输入ls命令可以查询到当前目录已经多了一个redis子目录,同时/root目录下已经没有redis-5.0.7文件夹 

编译

cd到/usr/local/redis目录,输入命令make执行编译命令,接下来控制台会输出各种编译过程中输出的内容

make

运行结果如下:

安装

输入以下命令

make PREFIX=/usr/local/redis install

这里多了一个关键字 PREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径
比如我们现在就是指定了redis 必须存放在/usr/local/redis目录
假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录
库文件会存放在/usr/local/lib目录。配置文件会存放在/usr/local/etc目录。其他的资源文件会存放在usr/local/share目录。这里指定目录方便后续的卸载、维护,后续直接rm -rf /usr/local/redis 即可删除redis。

执行结果如下图:

启动redis

根据上面的操作已经将redis安装完成了。在目录 /usr/local/redis 输入下面命令启动 redis

./bin/redis-server& redis.conf

上面的启动方式是采取后台进程方式,配置文件 redis.conf 可能会失效,如果redis.conf 配置文件无法生效,可以采用下面的显式方式启动,但是下面的方式启动后 Xshell 软件就会卡在当前页面不动,此时可以修改配置文件 redis.conf,daemonize属性为yes,则和后台进程方式启动其实一样

./bin/redis-server redis.conf

redis-server 后面是配置文件(如果不是在redis根目录启动redis,则需要在前面带上全路),带上配置文件目的是根据该配置文件的配置启动redis服务

redis.conf 配置文件允许自定义多个配置文件,可以通过启动时指定读取哪个来启动不同配置的实例,从而实现redis集群模式(个人理解可以这么操作,但是未实际尝试过,有兴趣的可以尝试一下)

这里列举下比较重要的配置项

配置项名称配置项值范围说明
daemonizeyes、noyes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行
port 指定 Redis 监听端口,默认端口为 6379
bind 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。
protected-modeyes 、no保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。
timeout300当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能
logleveldebug、verbose、notice、warning日志级别,默认为 notice
databases16设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到
rdbcompressionyes、no指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。
dbfilenamedump.rdb指定本地数据库文件名,默认值为 dump.rdb
dir 指定本地数据库存放目录
requirepass 设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH <password> 命令提供密码,默认关闭
maxclients0设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。
maxmemoryXXX <bytes>指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。

我在操作过程中做了如下修改: 

  1. 这里我是将 daemonize 改为 yes,否则 redis.conf 无法及时生,另外使用不这样操作则,使用显式启动方式,Xshell 软件就会卡在当前页面,ctrl+c后 redis 服务会自动关闭
  2. 同时也将 bind 注释,否则只能本机连接到redis,注释掉之后其他远程计算机都可以连接
  3. 将 protected-mode 设置为 no,否则会提示redis处于保护模式下,无法连接

查看Redis是否正在运行

1、采取查看进程方式:

ps -aux | grep redis

结果如下图:

2、采取端口监听查看方式

netstat -lanp | grep 6379

结果如下图:

客户端连接

redis-cli

redis-cli 是连接本地redis服务的一个命令,通过该命令后可以进入 redis 的脚本控制台,如果有多个不同端口的redis实例,需要在后面加上 IP 和 端口号(如:redis-cli -h host -p port -a password),如果只是 IP 或者 端口 不同,就只需要带上不同的那个元素的参数:如下图

输入 exit 可以退出 redis 脚本控制台

关闭运行中的Redis服务

输入redis-cli 进入控制台后输入命令 shutdown 即可关闭运行中的Redis服务了。如下图:

安装完后redis-cli无法使用(redis-cli: command not found)

这主要是安装redis的时候没有把客户端装上,在StackOverFlow上找到了一种只安装redis-cli的方法,这里跟大家分享下

下载安装

从redis官网下载redis-cli的压缩包

wget http://download.redis.io/redis-stable.tar.gz 

解压下载下来的压缩包

tar xvzf redis-stable.tar.gz

进入redis-stable目录

cd redis-stable

安装

make

将redis-cli拷贝到/usr/local/bin/下,让redis-cli指令可以在任意目录下直接使用

sudo cp src/redis-cli /usr/local/bin/

按照上面的指令执行之后 redis-cli 就可以正常执行了,如果失败,再把上面的命令再执行一遍即可

成功后的效果如下图

在以上实例中我们连接到本地的 redis 服务并执行 PING 命令,该命令用于检测 redis 服务是否启动

在远程服务上执行命令

如果需要在远程 redis 服务上执行命令,同样我们使用的也是 redis-cli 命令。

$ redis-cli -h host -p port -a password

 以下示例演示了如何连接到主机IP为 127.0.0.1,端口号为 6379 ,密码为 mypass 的 redis 服务上。

$ redis-cli -h 127.0.0.1 -p 6379 -a "mypass"

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值