当前位置: 首页 > article >正文

【Linux】Redis 部署

1、卸载

# 查看 Redis 是否还在运行
[appuser@localhost redis]$ ps -ef|grep redis
appuser  135694 125912  0 14:24 pts/1    00:00:00 ./bin/redis-server *:6379
appuser  135731 125912  0 14:24 pts/1    00:00:00 grep --color=auto redis

# 停止 Redis 
[appuser@localhost redis]$ redis-cli SHUTDOWN

# 删除 Redis 安装的相关文件
[root@localhost ~]# find / -name redis  
[root@localhost ~]# rm -rf /xxx/xxx/xxx

2、安装

# 依赖安装
[appuser@localhost ~]$yum -y install gcc gcc-c++ libstdc++-devel

# redis下载:https://redis.io/download
[appuser@localhost ~]$ tar -zxvf redis-6.2.3.tar.gz -C /app

# 编译
[appuser@localhost ~]$cd /app/redis-6.2.3
[appuser@localhost redis-6.2.3]$ make

# 编译可能报错:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/data0/src/redis-2.6.2/src'
make: *** [all] Error 2

# 报错原因:分配器 allocator会使用 jemalloc,而不是 libc,因为相比于libc,jemalloc 有更少的 fragmentation problems。但是如果目前环境没有jemalloc,只有 libc,所以 make 出错
# 解决方法:使用环境变量 MALLOC 来建立Redis
[appuser@localhost redis-6.2.3]$ make MALLOC=libc

# 安装
[appuser@localhost redis-6.2.3]$ make PREFIX=/app/redis install

Reids 的默认安装路径在/usr/local/bin,关键字 PREFIX 作用是编译的时候用于指定程序存放的路径。如果不添加该关键字,Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录。配置文件会存放在/usr/local/etc目录。其他的资源文件会存放在usr/local/share目录。这里指定好目录也方便后续的卸载,后续直接rm -rf /app/redis即可删除Redis

3、配置

  • Redis详细配置

4、启动Redis 服务器

Redis启动方式有两种:直接启动、通过初始化脚本启动,分别适用于开发环境和生产环境

  • 直接启动
# 拷贝一份配置文件
[appuser@localhost ~]$ cd /app/redis/bin
[appuser@localhost bin]$ ./redis-server ../redis.conf

配置文件redis.conf中设置daemonize=yes,则Redis将采取后台进程方式启动

  • 通过初始化脚本启动

在Linux中可以通过初始化脚本启动Redis,使得Reds能随系统自动运行,在生产环境中推荐使用该方式运行Redis。具体步骤如下:

① 配置初始化脚本:在redis-6.2.3/utils文件夹下有一个初始化脚本文件redis_init_script,将该脚本复制到ect/init.d目录中,文件重命名为redis_端口号,并将脚本中REDISPORT变量值改为同样的端口号。

② 创建文件夹:/etc/redis(存储redis的配置文件)、/var/redis/端口号(存放redis持久化文件)

③ 修改配置文件:将配置文件模板复制到/etc/redis目录中,重命名为端口号.conf,并修改一下参数:

# 使Redis以守护进程模式进行
daemonize=yes
# 设置Redis的PID文件位置
pidfile=/var/run/redis_端口号.pid
# 设置Redis监听的端口号
port=端口号
# 设置持久化文件存放位置
dir=/var/redis/端口号

现在就可以使用/etc/init.d/redis_端口号 start 来启动Redis了,而后需要执行下面的命令使Redis随系统自动启动:

[root@localhost ~]# sudo update_rc.d redis_端口号 default

5、停止 Redis

Redis 有可能正在将内存中的数据同步到硬盘中,强行终止Redis进程可能会丢失数据,正确方式是向Redis发送 SHUTDOWN命令

[appuser@localhost bin]$ ./redis-cli SHUTDOWN

当 Redis收到 SHUTDOWN命令后会先断开所有客户端链接,然后根据配置执行持久化,最后退出。

Redis 可以妥善处理SIGTERM信号,所以使用kill Redis进程的PID 也可以正常结束 Redis,效果同 SHUTDOWN命令。

6、客户端

通过 redis-cli 向 Redis 发送命令有两种方式:

  • 将命令作为redis-cli的参数执行
[appuser@localhost bin]$ ./redis-cli -h 127.0.0.1 -p 6379 PING
  • 交互模式
# 不携带参数进入交互模式
[appuser@localhost bin]$ ./redis-cli
127.0.0.1:6379> auth 123456@rds
127.0.0.1:6379> PING

http://www.kler.cn/a/372719.html

相关文章:

  • Kinova仿生机械臂Gen3搭载BOTA 力矩传感器SeneOne:彰显机器人触觉 AI 与六维力传感的融合力量
  • 蓝桥杯训练—矩形面积交
  • 微服务学习:基础理论
  • 深入探索 Vue.js 组件开发中的最新技术:Teleport 和 Suspense 的使用
  • cuda + cudnn安装
  • Docker部署Redis
  • 深入理解 C/C++ 中的 do-while 语句及其应用
  • 操作数据库的API
  • 【AI应用】大模型工具如何助力文字创意工作(提示词Prompt+谷歌NotebookLM)
  • 提取excel信息
  • Three.js Shader 与自定义材质—深入理解与应用
  • 思科--交换网络综合实验
  • 电动车进入电梯数据集、自行车进入电梯数据集 电动车进入电梯VOC数据标注数据集
  • 【错误描述:“L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误”】
  • App开发Flutter支持Harmony OS Next方案
  • python通过keyboard库实现模拟/监听键盘
  • Spring Security使用
  • 使用three.js 实现 自定义绘制平面的效果
  • Golang 并发编程入门:Goroutine 简介与基础用法
  • 适配器模式:连接不兼容接口的桥梁
  • NVR小程序接入平台/设备EasyNVR多个NVR同时管理多平台级联与上下级对接的高效应用
  • Nginx 的讲解和案例示范
  • SpringBoot+VUE2完成WebSocket聊天(数据入库)
  • ‌MySQL中‌between and的基本用法‌
  • macOS 15 Sequoia dmg格式转用于虚拟机的iso格式教程
  • 【Mac】安装 F5-TTS