0.简介
Redis是使用C语句编写的高性能的键值对非关系型数据库。
1.准备
- 下载
- 添加用户权限
出于linux安全,进程使用非root用户启动
# 创建一个gid为246的redis用户组
groupadd -g 246 redis
# 创建一个uid为246,gid为246的redis 用户
useradd -u 246 -g 246 redis
passwd redis [password]
# 查看用户uid
id redis
# 删除用户组
# userdel -rf redis
- 安装gcc环境
由于redis是用C写的, 所以要有gcc环境
#查看是否安装gcc
rpm -qa | grep gcc
#若无安装,则进行安装
yum install gcc
2.安装
su redis
cd /opt
tar xzf redis-5.0.3.tar.gz
cd redis-5.0.3
make
#报错则用:
make MALLOC=libc
3.配置
vi /opt/redis-5.0.3/redis.conf
bind 0.0.0.0
# 禁止外网访问redis,启用,则只能够通过lookback ip(127.0.0.1)访问Redis
protected-mode no
# 开启守护进程模式
daemonize yes
# 默认/var/run只有root用户有权限写入,所以改成/var/tmp所有用户有权限写入
pidfile /var/tmp/redis_6379.pid
# 日志文件目录
logfile "/opt/redis-5.0.3/redis_6379.log"
# 生成数据文件目录
dir /opt/redis-5.0.3
# 设置密码
requirepass [password]
# 主节点密码
masterauth [password]
4.自启
编写开机自启动脚本
# 复制官方自启动脚本到系统执行目录
cp /opt/redis-5.0.3/utils/redis_init_script /etc/init.d/redis
修改redis自启动配置
vi /etc/init.d/redis
配置如下:
#!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
### BEGIN INIT INFO
# Provides: redis_6379
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Redis data structure server
# Description: Redis data structure server. See https://redis.io
### END INIT INFO
REDISPORT=6379
# 设置执行工具路径
EXEC=/opt/redis-5.0.3/src/redis-server
# 设置cli执行工具路径
CLIEXEC=/opt/redis-5.0.3/src/redis-cli
# 修改pid为其他用户可写目录
PIDFILE=/var/tmp/redis_${REDISPORT}.pid
# 指定配置文件目录
CONF="/opt/redis-5.0.3/redis.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
# 使用redis用户执行
sudo -u redis $EXEC $CONF
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
# 使用redis用户加密码shutdown
sudo -u redis $CLIEXEC -a "[password]" -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
加入自启动
chkconfig --add redis
启动redis服务
# 修改配置以后只能root用户操作,但进程属于redis用户
service redis start
ps aux | grep redis
service redis stop
5.测试
使用redis-cli测试
cd /opt/redis-5.0.3
src/redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> exit
测试远程redis服务器
# 访问远程IP为192.168.1.55的redis服务器
src/redis-cli -h 192.168.1.1 -p 6379
常用命令
# 查询key数量:
127.0.0.1:6379> DBSIZE
# 增加一个key
127.0.0.1:6379> SET new_key "hello"
# 查看所有key
127.0.0.1:6379> KEYS *
# 清空当前数据库中的所有 key
127.0.0.1:6379> FLUSHDB