redis环境及配置
# 安装
# yum安装Redis
在本节中,您将添加EPEL (opens new window)存储库,然后使用它来安装Redis。
- 添加EPEL存储库,并更新YUM以确认您的更改: sudo yum install epel-release sudo yum update
- 安装Redis: sudo yum install redis
- 启动Redis: sudo systemctl start redis 可选:要在启动时自动启动Redis: sudo systemctl enable redis
在CentOS和Red Hat系统中,首先添加EPEL仓库,然后更新yum源:
yum install -y epel-release redis
# sudo yum update
2
普通安装,非最细你版本,是3.2.8版本
yum install redis
yum安装最新redis 如果要安装最新的redis,需要安装Remi的软件源,官网地址:http://rpms.famillecollet.com/
yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum --enablerepo=remi install redis
2
安装好后启动Redis服务即可:
sudo systemctl start redis
这里同样可以使用redis-cli进入Redis命令行模式操作。
另外,为了可以使Redis能被远程连接,需要修改配置文件,路径为/etc/redis.conf
vi /etc/redis.conf
需要修改的地方:
首先,注释这一行:
#bind 127.0.0.1
另外,推荐给Redis设置密码,取消注释这一行:
#requirepass foobared
foobared即当前密码,可以自行修改为
requirepass 密码
然后重启Redis服务,使用的命令如下:
sudo systemctl restart redis
# 启动redis
service redis start
# 停止redis
service redis stop
# 查看redis运行状态
service redis status
# 查看redis进程
ps -ef | grep redis
2
3
4
5
6
7
8
# 源码包方式
# 安装及设置
# 编译
将准备好的 nginx-1.18.0.tar.gz
包,拷贝至 /usr/local/nginx
目录下(一般习惯在此目录下进行安装)进行解压缩。
wget http://10.45.46.xxx:xxx/files/autorun/redis-3.2.11.tar.gz
$ sudo tar -zxvf redis-3.2.11.tar.gz # 解压缩
在完成解压缩后,进入 redis-3.2.11
目录进行源码编译安装。
cd redis-3.2.11
# make install #默认安装
make install PREFIX=/usr/local/redis #后面的是你想要安装的路径
cp ./redis.conf /usr/local/redis/bin/
2
3
4
源码包安装与 yum 安装的 nginx 服务操作命令也不同。
# 开启后台运行
打开文件后,如果你想查找,直接输入 / +你想要查找的字段 比如 / daemonized然后回车就可以查找了,按n表示下一个匹配字符:
vim /usr/local/redis/bin/redis.conf
修改redis.conf文件中的daemonize no为daemonize yes并保存
2
# 全局命令
把redis命令添加到环境变量; 取消用这种方式;
使用软连接将redis
链接到/usr/local/bin
ln -s /usr/local/redis/redis-server /usr/local/bin
ln -s /usr/local/redis/redis-cli /usr/local/bin
ll /usr/local/bin/ | grep "redis"
# 通过软连接,这样就可以直接使用 redis 执行
sudo ln -s /usr/local/redis/bin/redis-server /usr/bin/redis
sudo ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis-cli
#启动并指定配置
redis-server ./redis.conf
2
3
4
5
6
7
8
9
10
添加到环境变量PATH
; 不用这里再次设置;
echo $PATH
vim ~/.bash_profile
export PATH=$PATH:/usr/local/redis/bin
source ~/.bash_profile
2
3
4
5
6
改成直接引用到/usr/bin
目录;【推荐】
创建redis命令软连接
ln -s /usr/local/redis/bin/redis-server /usr/bin/redis
ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis-cli #在任意命令行执行redis
2
设置服务启动脚本
非必须设置;
手动启动: redis /usr/local/redis/redis.conf
服务启动:
cp /usr/local/redis/bin/redis-server /etc/init.d/redis
service redis start
2
停止服务
redis-cli shutdown
查看 nginx 服务进程
redis
ps -ef | grep redis # 查看服务进程
2
# 开机启动服务
#vim /etc/systemd/system/redis-server.service
#vim /etc/systemd/system/redis.service
vi /usr/lib/systemd/system/redis.service
2
3
4
粘贴以下内容
[Unit]
Description=The redis-server Process Manager
After=syslog.target network.target
[Service]
Type=simple
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/bin/kill -SIGINT $MAINPID
[Install]
WantedBy=multi-user.target
2
3
4
5
6
7
8
9
10
11
12
13
# 设置开机启动
systemctl daemon-reload
systemctl start redis.service
systemctl enable redis.service
systemctl status redis.service
2
3
4
5
另外一种方设置:
设置redis为开机自动启动
chkconfig redis on
服务操作命令
systemctl start redis.service #启动redis服务器
systemctl stop redis.service #停止redis服务器
systemctl restart redis.service #重新启动redis服务器
systemctl status redis.service #获取redis服务器的运行状态
systemctl enable redis.service #开机启动redis服务器
systemctl disable redis.service #开机禁用redis服务器
2
3
4
5
6
7
# 开放端口和重启防火墙
[root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
[root@localhost ~]# firewall-cmd --zone=public --add-port=6379/tcp --permanent
success
[root@localhost ~]# systemctl restart firewalld
2
3
4
5
# 开启6379
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
# 开启6380
/sbin/iptables -I INPUT -p tcp --dport 6380 -j ACCEPT
# 保存
/etc/rc.d/init.d/iptables save
# centos 7下执行
service iptables save
2
3
4
5
6
7
8
# 验证安装
验证Redis是否正在运行redis-cli
:
redis ping
如果Redis正在运行,它将返回:
PONG
# dokcer方式封装
RUN yum install -y gcc epel-release redis
RUN cp -rf /srv/app/soft/redis/redis.conf /etc/redis.conf
2
# Mac下安装
# 源码安装
# 步骤
- 解压:
tar zxvf redis-4.0.10.tar.gz
- 移动到:
mv redis-4.0.10 /usr/local/
- 切换到:
cd /usr/local/redis-4.0.10/
- 编译测试
sudo make test
- 编译安装
sudo make install
- 安装成功后,输入
redis-server
启动redis - 新建一个终端窗口,输入命令行
redis-cli
# 在bin下可执行的程序
- redis-server: Redis服务器
- redis-cli: 命令行客户端
- redis-benchmark: Redis的性能测试工具
- redis-check-aof: AOF文件修复工具
- redis-check-dump: RDB文件检测工具
- redis.conf: Redis的配置文件
redis默认是前台启动,如果我们想以守护进程的方式运行(后台运行),可以在redis.conf中将daemonize no
,修改成yes
即可。
进入/usr/local/bin
目录下。输入命令即可开启redis服务。
# 启动和停止Redis
启动:
- redis-server
- redis-server /etc/redis.conf
停止
- shutdown(在redis-3.2.8是
shutdown nosave/save
)
关闭redis服务
正确停止Redis的方式应该是向Redis发送SHUTDOWN命令;
redis-cli shutdown
强行终止redis;
sudo pkill redis-server
链接
ps axu | grep redis
redis-cli
redis-cli -h 127.0.0.1 -p 6379
# Homebrew安装[推荐]
#没有安装Homebrew,首先安装npm国内的吧,快一些; 直接使用的阿里云的镜像
#/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
brew install redis
2
3
4
查看安装及配置文件位置
- Homebrew安装的软件会默认在
/usr/local/Cellar/
路径下 - redis的配置文件
redis.conf
存放在/usr/local/etc
路径下
启动redis服务
//方式一:使用brew帮助我们启动软件
brew services start redis
//方式二
redis-server /usr/local/etc/redis.conf
//执行以下命令
redis-server
2
3
4
5
6
# 卸载redis
卸载redis服务,只需把/usr/local/bin/目录下的redis删除即可
rm -rf /usr/local/bin/redis*
甚至可以把解压包也删除掉
rm -rf /root/redis-stable
# 登录及密码配置
# 连接登录
# 交互式
#redis-cli -h {host} -p {port}
$redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379>set hello world
OK
127.0.0.1:6379>get hello
"world"
2
3
4
5
6
# 命令式
#redis-cli -h {host} -p {port} {command}
$redis-cli -h 127.0.0.1-p 6379 get hello
"world"
2
3
# 永久设置Redis密码
vim /etc/redis.conf
#在配置文件中有个参数:requirepass 这个就是配置redis访问密码的参数;
#比如 requirepass test123;
2
3
需重启Redis才能生效
# 临时设置Redis密码
redis 127.0.0.1:6379> config set requirepass test123
# 查询密码:
redis 127.0.0.1:6379> config get requirepass
(error) ERR operation not permitted
2
# 密码验证:
redis 127.0.0.1:6379> auth test123
OK
2
# 再次查询:
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "test123"
2
3
# 登陆有密码的Redis
redis-cli -p 6379 -a test123
# 先登陆后验证
redis-cli -p 6379
redis 127.0.0.1:6379> auth test123
OK
2
3
# 修改配置
# 启动远程连接
防火墙放行
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=6379/tcp --permanent
systemctl restart firewalld
2
3
修改redis.conf配置文件 关闭protected-mode模式,此时外部网络可以直接访问
修改redis.conf 文件,protected-mode 要设置成no。
//如果需要设置密码requirepass 空格后面跟设置的密码
修改redis.conf 文件,将 bind 127.0.0.1 修改成bind * -::*
或者直接将bind这一行注释掉
2
3
4
用vi打开redis.conf,进行以下三项更改:
- #bind 127.0.0.1 # 这里要注释掉,否则只有本机能访问
- protected-mode no # 这里由yes改为no
- requirepass 123456 # 这里设置上密码
改完后再重启下服务:
[root@localhost etc]# systemctl restart redis.service
完执行重启一下服务。
redis-cli -h 127.0.0.1 -p 6379
info
auth 123456
info
redis-cli -h 127.0.0.1 -p 6379 shutdown
set name ufo
get name
2
3
4
5
6
7
8
9
# 干掉redis服务器
sudo kill -9 pid 进程号
# 链接其他ip地址的redis
这里的ip是根据你要链接的ip地址进行更换的
./redis-cli -h 192.168.10.20 -p 6379
如果设置了密码,那么就再输入auth空格+密码
auth 密码
在链接时直接加上你的密码
./redis-cli -h 你服务器的ip -p 6379 -a 你的密码
# redis常用命令
命令 | 用途 |
---|---|
set key value | 设置 key 的值 |
get key | 获取 key 的值 |
exists key | 查看此 key 是否存在 |
keys * | 查看所有的 key |
flushall | 消除所有的 key |
# 参考链接
https://cloud.tencent.com/developer/article/1553633