Redis-各平台搭建
目录
- Redis5.0.7 for Ubuntu20.04
- Redis3.0.7 for centos7.9
- docker
- windows
- download
- install
- testing
- for mac
- 返回Redis目录
- 返回Docker目录
Redis5.0.7 for Ubuntu20.04
安装命令:sudo apt-get install -y redis-server 卸载命令:sudo apt-get purge --auto-remove redis-server 关闭命令:sudo service redis-server stop 开启命令:sudo service redis-server start 重启命令:sudo service redis-server restart 配置文件:/etc/redis/redis.conf
redis3.0.7 for centos7.9
centos7.9 + redis3.0.7
Redis release:http://download.redis.io/releases/
1、解决依赖问题:
[root@cs opt]# pwd /opt [root@cs opt]# yum -y install gcc automake autoconf libtool make
2、下载tag包并解压缩:
[root@cs opt]# wget http://download.redis.io/releases/redis-3.0.7.tar.gz [root@cs opt]# tar xvf redis-3.0.7.tar.gz
3、编译安装
[root@cs opt]# cd redis-3.0.7 [root@cs redis-3.0.7]# pwd /opt/redis-3.0.7 [root@cs redis-3.0.7]# make && make install
安装完成后,默认安装目录是/usr/local/bin,该路径默认就在path中,所以,我们也无需在手动添加redis到path中了。
PS:该/usr/local/bin相当于Windows下的C:\Program Files
[root@cs redis-3.0.7]# pwd /opt/redis-3.0.7 [root@cs redis-3.0.7]# ll /usr/local/bin/redis* -rwxr-xr-x. 1 root root 2076240 Jul 30 07:16 /usr/local/bin/redis-benchmark -rwxr-xr-x. 1 root root 25080 Jul 30 07:16 /usr/local/bin/redis-check-aof -rwxr-xr-x. 1 root root 55912 Jul 30 07:16 /usr/local/bin/redis-check-dump -rwxr-xr-x. 1 root root 2205848 Jul 30 07:16 /usr/local/bin/redis-cli lrwxrwxrwx. 1 root root 12 Jul 30 07:16 /usr/local/bin/redis-sentinel -> redis-server -rwxr-xr-x. 1 root root 4358232 Jul 30 07:16 /usr/local/bin/redis-server
到这一步,我们就可以在任意路径下,调用redis的相关命令了,如:
[root@cs redis-3.0.7]# pwd /opt/redis-3.0.7 [root@cs redis-3.0.7]# redis-server -v Redis server v=3.0.7 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=f1356b2709167cd3
注意,此时只是能够通过任意路径调用redis的相关命令,但redis服务并没有启动。
4、修改配置文件,centos中,默认的Redis配置文件,在其安装目录中,叫做redis.conf,一般我们不会直接修改这个文件,而是备份一份,或者重新新建一个配置文件,而新建的配置文件文件名不限制,配置文件放在哪个目录也不限制,只需要.conf结尾即可。这里我就在/etc的目录,新创建一个Redis的配置文件,叫做redis.conf,然后填写一些基本的配置。
# 允许Redis服务后台启动 默认daemonize no 改为 daemonize yes # 允许本地和远程访问 bind 127.0.0.1 改为 直接注释掉或者改成本机IP地址,或者0.0.0.0,否则默认的127.0.0.1影响远程连接 # 设置密码 添加Redis密码 改为 requirepass 你的自己定义的密码 # 总结其上就是,我们往/etc/redis.conf中写入下面四行配置项,我将bind参数注释了,你也可以写成bind 0.0.0.0 [root@cs redis-3.0.7]# pwd /opt/redis-3.0.7 [root@cs redis-3.0.7]# vim /etc/redis.conf [root@cs redis-3.0.7]# cat /etc/redis.conf daemonize yes # bind 0.0.0.0 requirepass 1234
5、现在,我们可以在任意目录启动Redis服务:
1 [root@cs redis-3.0.7]# redis-server /etc/redis.conf # 指定配置文件启动,并运行在后台 2 [root@cs redis-3.0.7]# ps -ef|grep redis |grep -v grep # 启动成功了 3 root 9807 1 0 07:35 ? 00:00:00 redis-server *:6379
6、现在,让我们打开一个新的终端就可以通过客户端访问服务端了。
首先,Redis允许任何请求连接,如果没有设置密码,你只要连接上就能进行操作了。所以,如果你的Redis服务启动时,没有配置密码,那么你这么连接上就能直接上手开干了
[root@cs redis-3.0.7]# redis-cli # 这里默认连接的是6379端口的Redis服务 127.0.0.1:6379> ping (error) NOAUTH Authentication required. # 由于我设置了密码,所以,这里提示需要认证,如果你没有设置密码,这里应该返回PONG
来说下认证的两种方式。下面是访问的同时携带密码,连接认证一起做
# -a 后面跟你的密码 # -p 后面是6379端口,其实这个-p参数可以不带,不带默认就是访问的6379端口的Redis [root@cs redis-3.0.7]# redis-cli -a 1234 -p 6379 127.0.0.1:6379> ping PONG 127.0.0.1:6379>
另一种方式就是,先连接上,然后再认证,然后就OK了
[root@cs redis-3.0.7]# redis-cli # 连接肯定是没问题,但由于设置了密码,你未通过认证之前,你啥也做不了 127.0.0.1:6379> ping (error) NOAUTH Authentication required. 127.0.0.1:6379> auth 1234 # 认证,auth命令后面跟你的密码 OK 127.0.0.1:6379> ping # 认证通过,你想干啥干啥 PONG 127.0.0.1:6379> quit # 常见的退出客户端命令有: quit/exit/ctrl+c 注意,退出客户端只是表示关闭客户端和服务端的连接,而不是停止服务端,这点要区分开 [root@cs redis-3.0.7]#
docker
1、拉取镜像
# 查询可用镜像 docker search redis # 拉取镜像, 下面命令是最新版 docker pull redis
2、查看拉取的镜像
[root@r ~]# docker images | grep redis redis latest 4cdbec704e47 9 days ago 98.2MB
3、启动一个redis容器
# 创建本地持久化目录 [root@r ~]# mkdir -p /docker_data/redis_data/ # 启动 docker run --name myredis -p 6379:6379 --restart=always -v /docker_data/redis_data/data:/data -d redis redis-server --appendonly yes [root@r ~]# docker run --name myredis -p 6379:6379 --restart=always -v /docker_data/redis_data:/data -d redis redis-server --appendonly yes 7c322e3633d2dfa41e0cf79a5b3aa748ccc7f18ef44c82caec6e92a46e55f8d9 [root@r ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7c322e3633d2 redis "docker-entrypoint.s…" 3 seconds ago Up 3 seconds 0.0.0.0:6379->6379/tcp myredis
参数说明:
--name myredis,指定该容器名称,查看和进行操作都比较方便-p 6379:6379,将redis的6379端口(冒号右边)映射到宿主机的6379端口(冒号左边)-v /docker_data/redis_data:/data,文件挂载-d redis redis-server,后台启动--appendonly yes,开启redis 持久化
4、测试
docker exec -it 容器ID bash [root@r ~]# docker exec -it 7c322e3633d2 bash root@7c322e3633d2:/data# redis-cli 127.0.0.1:6379> set name zhangkai OK 127.0.0.1:6379> get name "zhangkai" 127.0.0.1:6379> exit root@7c322e3633d2:/data# exit
Windows
win10 + redis3.2.100
redis还是没有正式支持Windows,但redis是开源软件,所以,微软开放技术小组开发并维护了针对Win64的Windows接口程序,提供了一个windows版本的redis分支
download
install
Redis 官方不建议在 windows 下使用 Redis,所以官网没有 windows 版本可以下载。还好微软团队维护了开源的 windows 版本,目前仅更新到了3.2版本:https://github.com/MicrosoftArchive/redis/releases
我也找到了其他开发者维护的Windows版本,更新到了5.0:https://github.com/tporadowski/redis/releases.
我这里以微软的那个3.2版本为例。
1、将Redis-x64-3.2.100.zip压缩包解压到任意(没有空格、没有中文和特殊符号)路径,这个路径也是安装路径,我这里以C:\Redis-x64-3.2.100为例

然后编辑下配置文件,而关于配置文件。坑来了,Windows中的Redis有两个配置文件redis.windows-service.conf和redis.windows.conf,而这两个配置文件使用哪个都可以,我们后续使用的是redis.windows.conf这个配置文件,注意你将来不要写错了配置文件。
配置文件中我们需要找到并且修改这几个命令,也就是你将你的配置文件的这几个参数写的跟我下面一样,修改完成保存文件:
# bind参数,注释掉bind参数,因为默认bind的是127.0.0.1,当然你不管这个参数也行,因为都在Windows上装了,肯定是本地测试开发用,本地连本地,无所谓了,或者bind 0.0.0.0也行 # requirepass后面注意有个空格,空格后面才是你设置的密码,注意,要是启用密码,那么连接时就必须携带正确的密码,如果不启用密码,你远程连接时,就不要携带密码,我发现了好多例Django中使用Redis,但Redis不需要密码,而Django配置文件中还指定密码,结果连接失败... # 最终修改就修改下面这两个参数 bind 0.0.0.0 requirepass 1234
2、将redis安装路径添加到系统环境变量

3、将redis添加到Windows系统服务,这样可以设置后台自动运行,以后直接使用客户端访问就好了,比较简单。以管理员的身份运行CMD并将路径切换到redis安装路径下执行下面命令:
C:\Redis-x64-3.2.100>redis-server.exe --service-install redis.windows.conf [6388] 20 Nov 09:35:59.132 # Granting read/write access to 'NT AUTHORITY\NetworkService' on: "C:\Redis-x64-3.2.100" "C:\Redis-x64-3.2.100\" [6388] 20 Nov 09:35:59.132 # Redis successfully installed as a service.
上面的命令如果出现下面的报错:
C:\Redis-x64-3.2.100>redis-server.exe --service-install redis.windows.conf [7348] 20 Nov 09:34:10.403 # HandleServiceCommands: system error caught. error code=1073, message = CreateService failed: unknown error
说明redis已经添加到Windows服务了,这个时候需要从服务中删除redis服务再重新添加即可。
# 卸载原有服务 redis-server.exe --service-uninstall # 重新安装 redis-server.exe --service-install redis.windows.conf
4、当你将redis服务添加到了Windows的服务中,我们现在可以通过命令管理redis服务
net start redis
net restart redis
net stop redis
当能成功的启动redis服务时,说明redis已经安装完成了。
你也可以在Windows服务中设置redis服务为自动运行。
testing
在任意路径打开CMD执行:
C:\Redis-x64-3.2.100>redis-cli --version
redis-cli 3.2.100
redis-cli.exe是redis的客户端,你也可以执行这个客户端程序进入交互式环境:
# -a是指定登录密码 C:\Redis-x64-3.2.100>redis-cli -a 1234 127.0.0.1:6379> set name "zhangkai" OK 127.0.0.1:6379> get name "zhangkai"
for mac
1、下载redis,redis的tar包所有版本:http://download.redis.io/releases/,redis官网下载链接:http://download.redis.io/releases/
# 打开终端,切换到/usr/local这个目录,就是我们redis的安装目录 cd /usr/local # 下载redis,我从这个连接中下载的,http://download.redis.io/releases/,以5.0.7版本为例 # 如果没有wget命令的话,你就手动的拷贝下面的连接,从浏览器中手动的下载 wget https://download.redis.io/releases/redis-5.0.7.tar.gz # 解压缩 sudo tar xvf redis-5.0.7.tar.gz # 重命下名 sudo mv redis-5.0.7/ redis # 完事这个tar包就可以删掉了,不删也行 # sudo rm -rf redis-5.0.7.tar.gz
2、编译安装,cd到安装目录
cd redis
sudo make test
sudo make install
3、添加src目录到环境变量
# 先cd到src cd src # 然后pwd一下,获取绝对路径 pwd # 拷贝上面pwd的绝对路径 # 然后添加到环境变量 sudo vim ~/.bash_profile export PATH=$PATH:/usr/local/redis/src # 完事后source 一下 source ~/.bash_profile
4、启动和关闭redis,添加环境变量成功后,就可以在终端中的任意目录启动和关闭redis了
# 前台启动 redis-server # 前台以配置文件的方式启动 redis-server /etc/redis.conf # 后台启动 redis-server & #后台以配置文件的方式启动 redis-server /etc/redis.conf & # 使用redis-cli连接redis的server端 redis-cli # 终止Redis服务 redis-cli shutdown # 也可以登录到redis-cli中,再执行shutdown,适用于有密码的情况 # 在redis-cli中,执行下面的命令进行登录,否则没有权限 auth 你设置密码
5、补充,redis的配置文件的编写,根据我的习惯,我通常把它创建在/etc中,当然,这个配置文件你可以创建在任何目录下
sudo vim /etc/redis.conf bind 0.0.0.0 requirepass 1234
如果不指定配置文件,那么它默认会读取安装目录中的redis.conf
文章参考:
docker安装redis并以配置文件方式启动 | docker hub redis | https://github.com/MicrosoftArchive/redis/releases | Redis下载及安装(windows版) | Redis安装系统服务1073错误 | redis支持windows吗

浙公网安备 33010602011771号