1.下载 &&  减压

wget http://download.redis.io/releases/redis-6.2.14.tar.gz

tar -zvxf redis-6.2.14.tar.gz

2.编译(分开运行)

cd redis-6.2.14

yum install gcc

make

cd src

make install

安装目录展示

3.redis.conf  配置更改 

daemonize yes
supervised systemd

bind 0.0.0.0

dir /usr/local/redisdb

  密码可自行添加

  dir 默认是  ./  这个是持久化文件,会去etc创建dump.rdb文件储存数据

  我这里建了自己想要的一个目录

 注意: 如果更改了dir  必须在对应路径创建好文件夹和rdis的用户和用户组写入权限

3.1  关于supervised的解释

   

  1. supervised no: 这意味着 Redis 不会以任何守护进程方式运行,也就是说它不会在后台运行。这通常用于开发和调试,因为在这种模式下,你可以看到 Redis 的所有输出在终端上。

  2. supervised systemd: 这是在系统中启用 systemd 管理的方式。在这种模式下,你会使用类似 systemctl 的 systemd 工具来启动、停止和管理 Redis 服务。这也允许 Redis 在后台运行。

  3. supervised upstart: 类似于 supervised systemd,这是在使用 Upstart 作为 init 系统的系统上的一种方式。

4.配置自启动

去 cd   /etc/systemd/system 下新建   touch     redis.service文件,并添加以下内容

[Unit]
Description=Redis #描述内容
#在哪些服务启动之后启动
After=syslog.target network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
#PIDFile和redis.conf配置中一致
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/redis-6.2.14/src/redis-server /usr/local/redis-6.2.14/redis.conf  --supervised systemd
#重新加载和停止服务的命令
ExecReload=/bin/kill -s HUP $MAINPID
#ExecStop=/bin/kill -s QUIT $MAINPID
ExecStop=/usr/bin/redis-cli -p 6379 -a  shutdown
PrivateTmp=true
 
#系统以默认多用户方式启动时,此服务自动运行。
[Install]
#Alias:服务别名
WantedBy=multi-user.target

注意:如果安装其他的版本,可能文件目录都不同 

如果在redis.conf中配置了supervised systemd  需要在启动后面加上--supervised systemd

5.systemctl  命令

systemctl daemon-reload                 # 加载服务配置文件

systemctl enable redis                  # 开机自启redis服务

//先运行以上命令


systemctl disable redis                 # 取消开机自启
systemctl start redis.service          # 启动redis服务
systemctl stop redis.service           # 停止服务
systemctl restart redis.service        # 重新启动服务
systemctl status redis.service          # 查看服务当前状态
systemctl list-units --type=service     # 查看所有已启动的服务

注意:手痒,我看日志文件没有创建我就手动创建,然后我想着快照也没有创建,我结果去创建导致启动失败(会自动创建而且我类型创建错了)

5.1查询配置是否生效

我就是在这个问题卡了很久,因为之前装过,可能没删干净

redis-cli       进入redis   我redis没有设置密码

config  get  logfile    查询日志配置路径

config  get  dir    快照存储路径

config  set logfile  "/var/log/redis.log"   这个命令我没有成功

6.redis.conf所有配置 


bind 0.0.0.0

protected-mode yes

port 6379

tcp-backlog 511

timeout 0

tcp-keepalive 300
daemonize yes
supervised systemd

pidfile /var/run/redis_6379.pid

loglevel notice

# 日志文件路径
logfile  /usr/local/redis-6.2.14/redis.log


databases 16

always-show-logo no


set-proc-title yes


proc-title-template "{title} {listen-addr} {server-mode}"

stop-writes-on-bgsave-error yes

rdbcompression yes


rdbchecksum yes


dbfilename dump.rdb


rdb-del-sync-files no


dir /usr/local/redisdb
maxmemory 2GB

replica-serve-stale-data yes

replica-read-only yes


repl-diskless-sync no

repl-diskless-sync-delay 5


repl-diskless-load disabled


repl-disable-tcp-nodelay no


replica-priority 100


acllog-max-len 128


lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no

lazyfree-lazy-user-del no

lazyfree-lazy-user-flush no


oom-score-adj no

oom-score-adj-values 0 200 800


disable-thp yes

appendonly no

appendfilename "appendonly.aof"

appendfsync everysec

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb


aof-load-truncated yes

aof-use-rdb-preamble yes

lua-time-limit 5000

slowlog-log-slower-than 10000


slowlog-max-len 128


latency-monitor-threshold 0

notify-keyspace-events ""

hash-max-ziplist-entries 512
hash-max-ziplist-value 64


list-max-ziplist-size -2


list-compress-depth 0


set-max-intset-entries 512

zset-max-ziplist-entries 128
zset-max-ziplist-value 64


hll-sparse-max-bytes 3000

stream-node-max-bytes 4096
stream-node-max-entries 100

activerehashing yes


client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60

hz 10

dynamic-hz yes

rdb-save-incremental-fsync yes

jemalloc-bg-thread yes

7.彻底删除redis

 systemctl stop redis.service

 yum  remove redis    //可能没有yum命令,可以找资料安装

 rm -rf /etc/sysemd/system/redis.service

rm -rf /usr/local/redis*

rm  -rf /usr/bin/redis*

日志和快照就自己看配置文件删除了

清除redis用户和用户组

userdel  redis

groupdel  redis

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐