Linux安装部署Redis
下载Redis
进入官网找到下载地址 https://redis.io/download
右键地址,选择复制链接。
进入到控制台(默认当前是/目录),可以输入 cd /
切换到/目录下,
输入wget 将上面复制的下载链接粘贴上,如下命令:
wget https://download.redis.io/redis-stable.tar.gz
敲入回车键执行,等待下载完成,完成后输入ls列出当前目录下内容可以看到下载的redis-stable.tar.gz压缩文件
解压并安装Redis
解压
下载完成后需要将压缩文件解压,输入以下命令解压到当前目录
tar -zvxf redis-stable.tar.gz
解压后输入ls 会发现与解压之前多了一个 redis-stable的目录。
删除压缩包文件
输入以下命令删除之前下载的压缩包文件,使用ls查看当前目录下已经没有了
rm -rf redis-stable.tar.gz
移动redis目录
一般都会将redis目录放置到 /usr/local/redis目录,所以这里输入下面命令将目前在/目录下的redis-stable文件夹更改目录,同时更改文件夹名称为redis。
mv /redis-stable /usr/local/redis
使用ls可以看到当前目录下已无redis-stable目录
切换到/usr/local目录下
cd /usr/local
输入ls命令可以查询到当前目录已经多了一个redis子目录
编译
切换到/usr/local/redis目录
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-server 后面是配置文件,目的是根据该配置文件的配置启动redis服务。redis.conf配置文件允许自定义多个配置文件,通过启动时指定读取哪个即可。
redis.conf配置文件
在目录/usr/local/redis下有一个redis.conf的配置文件。我们上面启动方式就是执行了该配置文件的配置运行的。我么可以通过cat、vim、less等Linux内置的读取命令读取该文件。
这里列举下比较重要的配置项
配置项名称 | 配置项值范围 | 说明 |
---|---|---|
daemonize | yes、no | yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行 |
port | 指定 Redis 监听端口,默认端口为 6379 | |
bind | 绑定的主机地址,如果需要设置远程访问则直接将这个属性注释掉或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。 | |
protected-mode | yes 、no | 保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。 |
timeout | 300 | 当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能 |
loglevel | debug、verbose、notice、warning | 日志级别,默认为 notice |
databases | 16 | 设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到 |
rdbcompression | yes、no | 指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。 |
dbfilename | dump.rdb | 指定本地数据库文件名,默认值为 dump.rdb |
dir | 指定本地数据库存放目录 | |
requirepass | 设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH 命令提供密码,默认关闭 | |
maxclients | 0 | 设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。 |
maxmemory | XXX | 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。 |
这里将daemonize改为yes,让redis后台启动,不这样操作则只要回到Linux控制台则redis服务会自动关闭,同时也将bind注释或改为bind * ,将protected-mode设置为no,这样启动后就可以在外网访问了。
更改方式:
vim /usr/local/redis/redis.conf
通过 /daemonize 查找到属性,默认是no,更改为yes即可。 (通过/关键字查找出现多个结果则使用 n字符切换到下一个即可,查找到结果后按 i键 切换到插入模式更改,更改完成按 esc键 退回到普通模式,然后再去查找上述的另两个属性进行修改),修改完esc回到普通模式下输入 :wq!
保存强制退出即可。
如下图:
再次执行以配置文件启动redis的命令
./bin/redis-server ./redis.conf
查看Redis是否正在运行
1、采取查看进程方式
ps -aux | grep redis
结果如下图:
redis-cli 客户端控制台
执行以下脚本可以进入客户端控制台
./bin/redis-cli
输入exit或quit可以退出redis脚本控制台,如下图
关闭运行中的Redis服务
输入./bin/redis-cli
再次进入客户端控制台后输入命令shutdown
即可关闭运行中的Redis服务了。如下图(服务端关闭后会断连)
(ctrl+c回到控制台)
设置全局使用redis命令
上述安装时放在指定目录虽然卸载时方便,但使用时却麻烦很多,比如想要连接redis时,直接使用 redis-cli 却不能正确连接,出现: -bash: redis-cli: command not found 报错的问题,其实这时候我们需要配置可以全局使用 redis-lic 命令,
复制 /usr/local/redis/bin/ 下面的 redis-cli 到 /usr/local/bin/ 下面,执行以下命令
sudo cp /usr/local/redis/bin/redis-cli /usr/local/bin/
复制完成之后,redis-cli指令可以在任意目录下直接使用了,然后在任意目录下使用 redis-cli 命令 就可以进入操作redis数据了
(连接被拒是此时服务端已关闭问题)
同样的redis-server也设置全局使用
sudo cp /usr/local/redis/bin/redis-server /usr/local/bin/
然后在任意位置执行 redis-server
可显示开启服务
以配置文件启动(因为前面已配置后台启动,这里就是后台启动)
redis-server /usr/local/redis/redis.conf
再次连接客户端可以发现成功
修改密码
第一种方式:
1、进入redis操作的命令行
运行命令:
redis-cli
2、查看现有的redis密码(可选操作,可以没有)
运行命令:
config get requirepass
如果没有设置过密码的话运行结果会如下图所示
3、设置redis密码
运行命令:
config set requirepass yourpwd(yourpwd为你的密码)
设置成功的话会返回‘OK’字样
再次查看密码可以发现已经修改成功
第二种方式:
修改配置文件
vim /etc/redis.conf
全局搜索requirepass
#requirepass foobared去掉注释,foobared改为自己的密码,我在这里改为 requirepass 123456
4、重启redis服务
cd /usr/local/redis/
./bin/redis-server ./redis.conf
或
./usr/local/bin/redis-server
尝试登录redis,发现可以登上,但是执行具体命令会报错提示需要身份验证
使用密码登录 redis-cli -h 127.0.0.1 -p 6379 -a yourpwd
(yourpwd为前面设置的密码) 则可以执行成功
防火墙放开端口
1.查看防火墙状态
systemctl status firewalld
如果状态不为active,我们需要打开防火墙,这里我先关闭后再打开
# 打开防火墙
systemctl start firewalld
# 关闭防火墙
systemctl stop firewalld
或者可以直接重启防火墙
systemctl restart firewalld
-
查看端口
# 查看所有已开放的临时端口(默认为空) firewall-cmd --list-ports # 查看所有永久开放的端口(默认为空) firewall-cmd --list-ports --permanent
如图
如果想让外部环境能够连接到我们的redis,我们还需要让防火墙放开redis的端口默认6379,这里我们使用永久开放的命令
# 添加临时开放端口
firewall-cmd --add-port=6379/tcp
# 添加永久开放的端口
firewall-cmd --add-port=6379/tcp --permanent
#关闭临时端口
firewall-cmd --remove-port=6379/tcp
#关闭永久端口
firewall-cmd --remove-port=6379/tcp --permanent
配置结束后可以使用上面的查看命令查询
配置结束后需要输入重载命令或重启防火墙以生效配置
# 重载
firewall-cmd --reload
#重启
systemctl restart firewalld
然后可以使用 ifconfig
命令查看ip,在外部环境连接测试。(图形化连接工具在本文后面有介绍)
设置开机自启
新建打开一个文件
vim /etc/init.d/redis
复制下面内容到文件中:
#!/bin/sh
# chkconfig: 2345 80 90
# description: Redis is a persistent key-value database
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/usr/local/redis/redis.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$REDIS_CLI -p $REDISPORT SHUTDOWN
while [ -x ${PIDFILE} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
exit 1
esac
复制后保存退出
以下信息需要根据安装目录进行调整:(没有设置全局使用redis命令的需要改前两个)
EXEC=/usr/local/bin/redis-server # 执行脚本的地址
REDIS_CLI=/usr/local/bin/redis-cli # 客户端执行脚本的地址
PIDFILE=/var/run/redis_6379.pid # 进程id文件地址
CONF=“/usr/local/redis/redis.conf” #配置文件地址
2)设置权限
chmod 755 /etc/init.d/redis
3)启动测试
/etc/init.d/redis start
启动成功会提示如下信息:
Starting Redis server...
......
Redis is running...
4)设置开机自启动
chkconfig --add /etc/init.d/redis
chkconfig redis on
Windows安装配置Redis
文中介绍了Windows中Redis的安装包mis和压缩包zip的安装教程,还有几个Redis常用的可视化插件,如
treeNMS
、RedisStudio
、Redis Desktop Manager
等请选择性观看。
Redis下载地址:
windows版本readis下载(GitHub):
https://github.com/tporadowski/redis/releases (推荐使用)
https://github.com/MicrosoftArchive/redis/releases
官网下载(无Windows版本): https://redis.io/download
Redis中文网站: http://www.redis.cn
所有版本这里都有:https://download.redis.io/releases/(下载后是个Linux的压缩文件,需要下载、解压和编译)
发行说明:
https://raw.githubusercontent.com/redis/redis/5.0/00-RELEASENOTES
Redis 支持 32 位和 64 位。根据你所使用的系统和实际情况进行选择,这里我下载 Redis-x64-xxx.zip压缩包到磁盘,解压后,将文件夹重新命名为 redis。
Windows下的
.msi
安装和.zip
格式区别:
.msi
是Windows installer开发出来的程序安装文件,它可以让你安装,修改,卸载你所安装的程序。说白了.msi就是Windows installer的数据包,把所有和安装文件相关的内容封装在一个包里。此外:它还包含有关安装过程自己的信息。例如:安装序列、目标文件夹路径、安装选项和控制安装过程的属性。
.zip
是一个压缩包,解压之后即可,不需要安装
一、zip压缩包方式下载安装
1、下载Redis压缩包
这里我在GitHub中下载window用的 5.0 版本Redis-x64-5.0.14.1.zip
。
https://github.com/tporadowski/redis/releases
2、解压到文件夹
将下载的压缩包解压到指定的文件夹中,如:D:\Redis,内容如下:
3、启动Redis服务
在Redis的安装目录下打开cmd窗口,然后执行命令来启动服务:
redis-server.exe redis.windows.conf
切换到redis目录:
可以打开cmd使用 cd 命令切换到redis所在的目录:
cd /d d:\redis
直接在Redis目录路径处输入cmd回车也可以进入命令窗口
cd 切换目录命令示例:
例:cd // 显示当前目录
例:cd … // 进入父目录
例:cd /d d: // 进入上次d盘所在的目录(或在直接输入:d:)
例:cd /d d:\ // 进入d盘根目录
例:cd d: // 显示上次d盘所在的目录
例:cd /d d:\src // 进入d:\src目录
随后使用redis-server.exe redis.windows.conf
命令来启动redis服务:
默认端口为6379,出现图上的图标说明redis服务启动成功。命令里面的
redis.windows.conf
可以省略,省略后,使用redis-server.exe
命令会使用默认的配置。
为了方便,建议把Redis路径配置到系统变量Path值中,这样就省得再输路径了。
4、打开Redis客户端进行连接
我们使用redis-cli.exe
命令来打开Redis客户端:
redis-cli.exe -h 127.0.0.1 -p 6379
在命令中输入ping命令来检测redis服务器与redis客户端的连通性,返回PONG
则说明连接成功了。
如果出现连接不成功,注意服务打开以后,另启一个 cmd 窗口到Redis所在的目录执行命令,原来的Redis启动窗口不要关闭,不然就无法访问服务端了。
如果连接成功,到此Redis的安装和部署也就完成了。
5、使用一些基础操作来测试
下面我们可以来进行一些基础操作来进行测试
Redis默认拥有16个数据库,初始默认使用0号库,在命令行中通过select
命令将数据库切换到8号数据库:
select 8
在命令中通过set
命令设置键值,通过get
命令取出键值:
在命令中通过shutdown
命令来关闭redis服务:
在Redis服务启动的cmd窗口中会出现服务关闭的提醒,如下图:
Redis常用的服务指令
卸载服务:redis-server --service-uninstall
开启服务:redis-server --service-start
停止服务:redis-server --service-stop
添加到windows服务中
先关闭临时服务,否则安装不上
1.默认服务安装
进入Redis解压后的目录,并在该目录下启动命令行,输入以下命令
redis-server.exe --service-install redis.windows.conf --loglevel verbose
2.自定义服务安装
进入Redis解压后的目录,并在该目录下启动命令行,输入以下命令
redis-server.exe --service-install redis.windows.conf --Service-name RedisServer1 --loglevel verbose
使用自定义服务安装,可以重命名服务名
安装完成后可在windows服务中看到redis,如下图
3.启动/暂停/卸载服务
# 启动
redis-server.exe --service-start
# 暂停
redis-server.exe --service-stop
# 卸载
redis-server.exe --service-uninstall
二、msi安装包方式下载安装
1、下载Redis安装包
这里我在GitHub中下载window用的 5.0 版本Redis-x64-5.0.14.1.msi
这里选择.msi格式的安装版本(另外一种.zip为本文中的第一种安装方式安装)
https://github.com/tporadowski/redis/releases
2、进行安装
①直接运行.msi
的安装包,一直next,直到下面界面,勾选上再next
②这一步选择端口,然后next(默认6379
,后面可以通过配置文件修改的)
③选择最大缓存容量,点击next(后面可以通过配置文件修改的)
接下来可以点击install
进行安装了,如果安装有杀毒软件可以会权限提示,全部允许即可。
3、进行配置
①安装完毕后,进入redis安装目录找到配置文件redis.windows-service.conf
注意是redis.windows-service.conf不是redis.windows.conf
后者是以非系统服务方式启动程序使用的配置文件.
②在配置文件中,找到requirepass foobared字样,在其后面追加一行,输入requirepass 123456
设置访问Redis时所需的密码。
一般测试情况下可以不用设定密码。我这里设置123456做演示。
4、启动服务
进入计算机服务中 (右键计算机 → 管理 → 服务和应用程序 → 服务)
再在右侧找到Redis名称的服务,查看启动情况。
如未启动,则手动启动。
正常情况下,服务应该正常启动并运行了,但是因为前面修改过配置文件,需要重启服务
另外在【任务管理器】→【服务】中也可以启动
5、测试能否正常工作
测试一下redis能否正常工作。
用命令进入redis安装路径
cd c:\redis
输入redis-cli
并回车(redis-cli是客户端程序)如图正常提示进入,并显示正确端口号,则表示服务已经启动。
redis-cli
由于刚刚配置了密码,使用服务前需要先通过密码验证。
输入“auth 123456
”并回车(123456是之前设定的密码)。
返回提示OK表示验证通过。
然后再验证set和get命令,如果一切正常便安装部署成功。
使用可视化工具
1、Redis Desktop Manager
需要安装使用,0.9.4以上是要收费的
**下载地址:**https://github.com/uglide/RedisDesktopManager/releases/download/0.9.3/redis-desktop-manager-0.9.3.817.exe
**详情:**https://blog.csdn.net/u012688704/article/details/82251338
下载完成之后直接点击安装,无需任何配置直接连接。
界面如下:
2、RedisStudio
**下载地址:**https://github.com/cinience/RedisStudio/releases
打开即可使用,
界面如下:
3、treeNMS
treeNMS管理工具
官网下载地址:http://www.treesoft.cn/dms.html
是用JAVA开发的,基于WEB方式对Redis管理,windows环境下载解压即可使用,里面有部署说明
界面如下:
连接远程 linux 中的 redis
输入 ifconfig
查看ip
打开可视化工具,名称随便,地址填写上面的ip,端口默认6379,输入密码测试连接可以看到连接成功