编译安装redis-6.2.1,加入开机自启

下载安装包

redis官网下载

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

安装依赖包

yum install -y gcc gcc-c++ tcl

编译安装redis

#解压redis
tar xf redis-6.2.1.tar.gz
#进入解压后的目录
cd redis-6.2.1
#编译
make
#创建redis安装目录,主要用于存放redis所需bin文件
mkdir -p /usr/local/redis
#安装redis并指定安装目录
make PREFIX=/usr/local/redis/ install
#复制默认配置文件到/etc
cp redis.conf /etc/
#修改配置文件监听IP为0.0.0.0,否则只能本地登录
sed -i s/bind\ 127.0.0.1/bind\ 0.0.0.0/g /etc/redis.conf
#修改运行方式为后台运行
sed -i s/daemonize\ no/daemonize\ yes/g /etc/redis.conf
#设置日志文件路径
sed -i s@logfile\ \"\"@logfile\ \"/var/log/redis/redis.log\"@g /etc/redis.conf
#设置数据目录
sed -i s@dir\ \./@dir\ /var/lib/redis@g /etc/redis.conf
#设置redis密码
echo "requirepass 123456" >>/etc/redis.conf
#创建日志目录和数据目录
mkdir /var/log/redis /var/lib/redis
#创建redis用户,尽量不要用root启动
useradd redis
#授权
chown -R redis:redis /var/log/redis /var/lib/redis

设置系统级启动

由于不设置ExecStop会导致在停止的时候很慢,所以这边写一个停止脚本

vi /usr/local/redis/bin/redis-shutdown

#!/bin/bash
REDIS_DIR=$(readlink -f "$(dirname "$0")")
REDIS_CLI=$REDIS_DIR/redis-cli
REDIS_CONF=/etc/redis.conf

REDIS_HOST=`awk '/^[[:blank:]]*bind/ {print $2}' $REDIS_CONF | tail -1`
REDIS_PORT=`awk '/^[[:blank:]]*port/ {print $2}' $REDIS_CONF | tail -1`
REDIS_PASS=`awk '/^[[:blank:]]*requirepass/ {print $2}' $REDIS_CONF | tail -1`
REDIS_SOCK=`awk '/^[[:blank:]]*unixsocket\s/ {print $2}' $REDIS_CONF | tail -1`

[ -z "$REDIS_PASS" ] || REDIS_PASS_PARAMETER="-a $REDIS_PASS"

REDIS_PORT=${REDIS_PORT:-6379}

if [ -e "$REDIS_SOCK" ] ; then
	$REDIS_CLI -s $REDIS_SOCK $REDIS_PASS_PARAMETER shutdown
else
	$REDIS_CLI -h $REDIS_HOST -p $REDIS_PORT $REDIS_PASS_PARAMETER shutdown
fi
#创建系统服务所需的.service文件
cat > /etc/systemd/system/redis.service << EOF
[Unit]
Description=The redis-server Process Manager
After=syslog.target network.target

[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /etc/redis.conf
ExecStop=/usr/local/redis/bin/redis-shutdown
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target
EOF

#重载系统服务
systemctl daemon-reload
#设置redis开机自启
systemctl enable redis
#启动redis
systemctl start redis
#查看redis状态
systemctl status redis

安装完成

在这里插入图片描述

验证是否可用

[root@pg-master redis-6.2.1]# telnet 192.168.19.249 6379
Trying 192.168.19.249...
Connected to 192.168.19.249.
Escape character is '^]'.
auth 123456
+OK
info Server
$578
# Server
redis_version:6.2.1
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:d9c86de3cac61dab
redis_mode:standalone
os:Linux 3.10.0-862.el7.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:4.8.5
process_id:18104
process_supervised:no
run_id:035dd8ea28e979b9d9767c8a947ff5f7588045d8
tcp_port:6379
server_time_usec:1616744047327554
uptime_in_seconds:156
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:6131311
executable:/usr/local/redis/bin/redis-server
config_file:/etc/redis.conf
io_threads_active:0

set weihe 123
+OK
get weihe
$3
123
del weihe 
:1
quit
+OK
Connection closed by foreign host.

Redis常用操作指令介绍

#设置(新建)一个Key=Value
set keyname keyvalue
#获取一个K的值
get keyname
#切换1-15号的库
select 数据库编号 0-15
#打印所有key
keys *
#打印指定key,支持正则表达式,例如*weihe*
keys weihe
#测试key是否存在
exits keyname
#查看生存时间 (-1代表在内存中永不过期)
ttl keyname
#查看类型
type keyname
#移动key到其他数据库
move keyname dbname
#设置有效时间
expire keyname 10
#删除变量
del keyname
#删除所有变量,危险操作,一般安全整改要求改名
flushall
#保存变量
save
#关闭服务 ,危险操作,一般安全整改要求改名
shutdown
#查看redis状态
info
#退出当前会话,并不会关闭redis
quit
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唯何

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值