ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

VMWare Centos7虚拟机安装并运行Redis

2022-01-05 23:33:37  阅读:278  来源: 互联网

标签:AOF Redis 虚拟机 redis6 redis Centos7 usr RDB local


操作系统CentOS-7-x86_64-Minimal-2009
Redisredis-6.2.6.tar.gz

  • 安装并运行

# Step1. 安装gcc编译器,在Step5用到
yum install gcc -y

# Step2. 下载压缩包
wget https://download.redis.io/releases/redis-6.2.6.tar.gz

# Step3. 解压
tar -zxvf redis-6.2.6.tar.gz

# Step4. 把解压出来的目录移到/usr/local/redis6
mv redis-6.2.6.tar /usr/local/redis6

# Step5. 进入目录/usr/local/redis6,开始编译
make

# Step6. 如果Step5编译成功,将在当前目录出现,添加“--daemonize yes”后台运行
./src/redis-server --daemonize yes

# Step7. 查看线程状态
ps -ef|grep redis

# Step8. 使用redis-cli尝试操作
./src/redis-cli

  • 注册服务自启动

# Step9. 在目录/lib/systemd/system下创建redis.service,内容如下:
[Unit]
Description=redis
After=network.target

[Service]
Type=forking
RuntimeDirectory=redis
RuntimeDirectoryMode=0755
ExecStart=/usr/local/redis6/src/redis-server /usr/local/redis6/redis.conf --daemonize
ExecStop=/usr/local/redis6/src/redis-cli -p 6379 shutdown
PrivateTmp=false

[Install]
WantedBy=multi-user.target

# Step10. 重新加载
systemctl daemon-reload

# Step11. 允许redis.service自启动
systemctl enable redis.service

# Step12. 重启
reboot

# Step13. 重启后,查看redis服务状态
systemctl status redis.service

  • 设置外网访问

        同样也是需要打开防火墙端口,另外还需要修改redis.conf配置,默认只允许本机访问。

# Step14. 更新防火墙,开放6379端口
firewall-cmd --add-port=6379/tcp --permanent

# Step15. 查看6379端口开放情况
firewall-cmd --query-port=6379/tcp

# Step16. 修改/usr/local/redis6/redis.conf配置
bind 127.0.0.1  -> bind 192.168.12.129
protected-mode yes -> protected-mode no

# Step17. 重启服务后,尝试连接
systemctl start redis.service

数据持久化

        redis将数据放到内存中,默认情况下是不持久化的,意味着如果断电或重启,数据将丢失。为将数据持久化,redis提供了两套方案:RDB和AOF,两种持久化机制的比较可以看这篇文章《详解Redis中两种持久化机制RDB和AOF》。默认只需要配置一种。

# Step18. RDB配置
# 修改redis.conf中“SNAPSHOTTING”的配置
# 比如下面配置的意思是每过3600s或有一个key被修改就备份一次
save 3600 1

# Step19. AOF配置
# 修改redis.conf中“APPEND ONLY MODE”的配置
# 有三种取值always/everysec/no
appendonly everysec

        有一个有趣的地方,如果RDB和AOF两种机制的配置都enable的话,会发生什么呢?博主没有亲自试过,按照文章《黑猴子的家:Redis 持久化 之 AOF 和 RDB 同时开启,Redis听谁的?》的说法,两种持久化方式都会生效,但恢复时默认使用AOF的备份文件。

遇到的问题

如果在没有安装gcc的情况下运行了make,可能会出现这种提示:

jemalloc/jemalloc.h: No such file or directory。

 安装gcc后,可以执行如下命令进行重新编译。

make distclean && make

引用文献:

《详解Redis中两种持久化机制RDB和AOF》

《黑猴子的家:Redis 持久化 之 AOF 和 RDB 同时开启,Redis听谁的?》

《redis 安装报错 jemalloc/jemalloc.h: No such file or directory》


以上就是本文的全部内容。

标签:AOF,Redis,虚拟机,redis6,redis,Centos7,usr,RDB,local
来源: https://blog.csdn.net/Jay_Wooz/article/details/122211408

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有