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

Redis安装与基础配置:单节点离线部署与配置解析

Redis(Remote Dictionary Server)是一个开源的、基于内存的高性能键值存储系统。它支持多种数据结构,如字符串、哈希、列表、集合等,并且提供了丰富的配置选项。本文将详细介绍Redis在Linux系统上的单节点离线部署、配置文件解析、持久化配置以及内存分配策略。

1 单节点离线安装

在实际生产环境下,服务器一般无法直接访问互联网,这时我们需要进行离线安装。以下是Linux系统下Redis的离线安装步骤。

1.1 下载源码包

下载地址:Index of /releases/

1.2 安装依赖

# 安装C编译器
yum install gcc -y

# 安装jemalloc:Redis 默认使用jemalloc作为内存分配器,再CentOS 7的yum没有响应安装包,这里下载rpm包进行安装
[root@node3 tool]# rpm -ivh jemalloc-3.6.0-1.el7.x86_64.rpm
warning: jemalloc-3.6.0-1.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 764429e6: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:jemalloc-3.6.0-1.el7             ################################# [100%]
[root@node3 tool]# rpm -ivh jemalloc-devel-3.6.0-1.el7.x86_64.rpm
warning: jemalloc-devel-3.6.0-1.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 764429e6: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:jemalloc-devel-3.6.0-1.el7       ################################# [100%]
[root@node3 tool]# 

1.3 解压源码包并编译依赖库

tar -zxvf redis-6.2.9.tar.gz 
cd /root/tool/redis-6.2.9/deps
make hiredis lua jemalloc

1.4 编译源码包

cd /root/tool/redis-6.2.9
make

1.5 安装redis

# 编译完成后,将Redis安装到指定目录
make PREFIX=/usr/local/redis install

1.6 启动redis

# 处理配置文件并启动Redis
grep -v '^$\|#' redis.conf > /usr/local/redis/redis.conf

# 设置后台启动
sed -i 's/daemonize no/daemonize yes/g' /usr/local/redis/redis.conf 

#启动redis
/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf

[root@node3 redis-6.2.9]# ps -ef |grep redis
root      52757      1  1 18:33 ?        00:00:00 /usr/local/redis/bin/redis-server 127.0.0.1:6379
root      52763  42593  0 18:33 pts/0    00:00:00 grep --color=auto redis
[root@node3 redis-6.2.9]# 

2 配置文件解析

Redis的配置文件redis.conf包含了大量的配置选项,以下是一些常用配置项的解析:

2.1 基本配置

  • bind 127.0.0.1:指定Redis监听的网络接口,默认只监听本地回环地址
  • port 6379:指定Redis监听的端口号,默认是6379
  • daemonize no:是否以守护进程方式运行Redis,默认no,改为yes可以让Redis在后台运行
  • pidfile /var/run/redis.pid:指定Redis进程ID文件的路径

2.2 日志配置

  • loglevel notice:指定日志级别,可选值有debug、verbose、notice、warning
  • logfile "":指定日志文件路径,如果为空则输出到标准输出

2.3 数据库配置

  • databases 16:指定Redis默认的数据库数量,默认是16个

2.4 安全配置

  • requirepass foobared:设置Redis的访问密码,默认是空的

2.5 客户端连接配置

  • maxclients 10000:设置Redis同时可以有多少个客户端连接

3 持久化配置(RDB/AOF)

Redis支持两种持久化方式:RDB(快照)和AOF(追加文件)。

3.1 RDB(快照)

RDB持久化方式会在指定的时间间隔内生成数据集的快照。
  • save 900 1:在900秒(15分钟)内,如果至少有1个键被修改,则生成快照
  • save 300 10:在300秒(5分钟)内,如果至少有10个键被修改,则生成快照
  • save 60 10000:在60秒内,如果至少有10000个键被修改,则生成快照
  • dbfilename dump.rdb:指定RDB文件的名称
  • dir ./:指定RDB文件的存储目录

3.2 AOF(追加文件)

AOF持久化方式会记录每次写操作,重启时重新执行这些操作来恢复数据。
  • appendonly no:是否开启AOF持久化,默认no
  • appendfilename "appendonly.aof":指定AOF文件的名称
  • appendfsync everysec:指定AOF文件的同步策略,可选值有always、everysec、no

4 内存分配策略

Redis的内存分配策略可以通过以下配置项进行调整。

4.1 最大内存限制

  • maxmemory :设置Redis可以使用的最大内存量,当达到最大内存限制时,Redis会根据配置的淘汰策略删除键

4.2 淘汰策略

  • maxmemory-policy noeviction:设置内存达到最大限制时的淘汰策略,可选值有:
    • noeviction:不删除键,返回错误
    • allkeys-lru:从所有键中使用LRU算法淘汰
    • volatile-lru:从设置了过期时间的键中使用LRU算法淘汰
    • allkeys-random:从所有键中随机淘汰
    • volatile-random:从设置了过期时间的键中随机淘汰
    • volatile-ttl:从设置了过期时间的键中淘汰生存时间最短的键

4.3 内存碎片整理

  • activedefrag yes:是否开启内存碎片整理,默认是no
  • active-defrag-ignore-bytes 100mb:当内存碎片达到100MB时开始整理
  • active-defrag-threshold-lower 10:内存碎片率低于10%时不整理
  • active-defrag-threshold-upper 100:内存碎片率高于100%时开始整理

5 总结

通过本文的介绍,希望能够帮助你了解Redis在Linux系统上的单节点离线部署、配置文件解析、持久化配置以及内存分配策略等。

 


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

相关文章:

  • 量子计算助力智能制造:未来工业的加速器
  • 【测试篇】关于allpairs实现正交测试用例保姆级讲解,以及常见的错误问题
  • 相对论之光速
  • 联想拯救者 M600 无线游戏鼠标|自定义驱动程序安装说明
  • 【C++经典例题】反转字符串中单词的字符顺序:两种实现方法详解
  • CMake学习笔记(三):静态库,动态库的生成和使用
  • Python基础入门掌握(十三)
  • Spring源码解析
  • 自然语言处理demo:基于Python的《三体》文本分析
  • 更轻量级的的Knf4j接口文档配置实战
  • 【Linux篇】环境变量与地址空间
  • C++ 类和对象----构造函数
  • 一个简单的RPC示例:服务端和客户端
  • 【算法day13】最长公共前缀
  • AI时代的软件测试该如何“破局”?
  • 【Qt】QWidget属性2
  • 【项目合集】基于ESP32的智能化妆柜
  • 【Azure 架构师学习笔记】- Azure Databricks (22) --Autoloader
  • 随笔小记-本人常用桌面应用(流程图-boardmix,截图-snipaste,文件比较-beyond compare,远程控制-向日葵,解压-360压缩)
  • 机试准备第18天