Redis教程

VMWare Centos7虚拟机安装并运行Redis

本文主要是介绍VMWare Centos7虚拟机安装并运行Redis,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
操作系统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》


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

这篇关于VMWare Centos7虚拟机安装并运行Redis的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!