Redis單節點安裝使用

0.簡介

Redis是使用C語句編寫的高性能的鍵值對非關係型數據庫。

1.準備

  • 下載

Redis官網

github

redis-desktop-manager

  • 添加用戶權限

出於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 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章