redis集群搭建过程(非常详细,适合新手)

Redis是一个开源的使用ANSI C编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,它通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Map)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。

本文将详细介绍如何搭建Redis集群,包括环境准备、安装Redis、配置Redis、启动Redis、测试Redis等内容。

redis集群搭建过程(非常详细,适合新手)

环境准备

1、操作系统:CentOS 7.x

2、Redis版本:5.0.3

3、JDK版本:1.8

4、Redis客户端工具:redis-cli

安装Redis

1、下载Redis安装包

redis集群搭建过程(非常详细,适合新手)

在Redis官网下载对应版本的安装包,下载地址为:https://redis.io/download

2、解压安装包

tar -zxvf redis-5.0.3.tar.gz

3、进入解压后的目录

cd redis-5.0.3

配置Redis

1、修改配置文件

vim redis.conf

找到以下配置项进行修改:

redis集群搭建过程(非常详细,适合新手)

关闭保护模式
protected-mode no
设置密码,如果有的话
requirepass your_password

2、复制配置文件到安装目录

cp redis.conf /usr/local/redis/bin/

启动Redis

1、创建Redis服务文件

vim /etc/systemd/system/redis.service

添加以下内容:

[Unit]
Description=Redis In-Memory Data Store
After=network.target
Requires=network.target
Conflicts=redis-server.service
ConditionPathExists=/usr/local/redis/bin/redis-server
[Service]
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf --daemonize yes --port 6379 --bind 127.0.0.1 注释掉这行,开放所有IP访问,否则只能本地访问,需要放开防火墙端口6379权限,如果需要指定IP访问,去掉注释即可,PIDFile=/var/run/redis_6379.pid PID文件路径,默认会生成一个名为“redis_6379.pid”的文件,该文件存储了Redis服务进程的ID号,ExecStop=/usr/local/redis/bin/redis-cli shutdown 停止命令Restart=always 自动重启服务,如果修改了配置文件,不用手动重启Redis服务,User=root 启动命令运行的用户Type=forking 采用fork()类UNIX函数复制当前进程,创建子进程,WorkingDirectory=/usr/local/redis 工作目录,启动命令执行的目录,StandardOutput=journal 标准输出方式为journal,日志记录方式,StandardError=syslog 标准错误输出方式为syslog,日志记录方式,SyslogIdentifier=redis-server 系统日志中记录的标识符,Environment=REDIS_HOME=/usr/local/redis 设置环境变量RestartSec=10s 自动重启服务的等待时间,超过这个时间会自动重启服务,Restart=on-failure 失败时自动重启服务,[Install]WantedBy=multi-user.target 被哪个服务管理,这里被multi-user.target管理,即多用户模式下启动,WantedBy=graphical.target 被哪个服务管理,这里被graphical.target管理,即图形界面模式下启动,WantedBy=sockets.target 被哪个服务管理,这里被sockets.target管理,即套接字模式下启动,WantedBy=xinetd.target 被哪个服务管理,这里被xinetd.target管理,即超级守护进程xinetd管理下启动,WantedBy=multi-user.target 被哪个服务管理,这里被multi-user.target管理,即多用户模式下启动,WantedBy=graphical.target 被哪个服务管理,这里被graphical.target管理,即图形界面模式下启动,WantedBy=sockets.target 被哪个服务管理,这里被sockets.target管理,即套接字模式下启动,WantedBy=xinetd.target 被哪个服务管理,这里被xinetd.target管理,即超级守护进程xinetd管理下启动,WantedBy=basic.target 被哪个服务管理,这里被basic.target管理,即基础模式下启动,WantedBy=manual.target 被哪个服务管理,这里被manual.target管理,即手动模式下启动,NoNewPrivileges=true 禁止新建特权用户组,LimitNOFILE=65535 限制文件描述符的数量。当一个进程打开的文件描述符数量达到65535时,该进程就不能再打开新的文件描述符了。如果需要修改这个值,可以修改配置文件中的“LimitNOFILE”选项的值。注意:修改这个值后需要重新加载配置文件才能生效,TimeoutStopSec=10s 停止超时时间,SendSIGKILL=no 是否发送SIGKILL信号给进程组和主进程,SendSIGTERM=yes 是否发送SIGTERM信号给进程组和主进程,CreateMask=0777 创建掩码值。当创建新文件或目录时,可以使用这个掩码值来控制文件或目录的权限。默认值为0777,表示所有用户都有读、写、执行权限。如果需要修改这个值,可以修改配置文件中的“CreateMask”选项的值。注意:修改这个值后需要重新加载配置文件才能生效,ConcurrentReadonly = false 是否允许并发读取只读数据快照,ConcurrentWrites = true 是否允许并发写入数据快照,ConcurrentReadwrite = false 是否允许并发读写数据快照,ConcurrentAOFBackup = false 是否允许并发备份AOF文件,ConcurrentAOFRewrite = false 是否允许并发重写AOF文件,ConcurrentSNARLDB = false 是否允许并发备份SNARLDB文件,ConcurrentSnapshot = false 是否允许并发备份快照文件,NotifyAccess = none 通知访问者的方式。当有其他进程访问Redis时,可以通过这个选项来通知Redis主进程。可选值有:none、gdb、systat、abrtd、aftd、saslauthd、exec、httpd、nfslock、ipp、named、mysqld、postfix、qmail、snmpd、squid、swat、syslog、uucp、zabbix等,ExecReload = /bin/kill -HUP $MAINPID 重新加载配置文件的命令,ExecStopPost = /bin/kill -QUIT $MAINPID 停止命令执行后执行的命令,PrivateTmp = true 是否使用私有临时目录,SaveParams = no 是否保存参数到配置文件中,MaxClients = 10000 最大客户端连接数,MaxMemory = 2GB 最大内存使用量,AppendOnlyYes = true 是否开启AOF持久化机制,AppendFile = "appendonly.aof" AOF持久化文件名,AppendfsyncEverysec = 60 每秒同步一次AOF文件,AlwaysAppendOnly = no 是否总是以AOF方式写入数据快照,No-Appendfsync-on-rewrite = no 在重写AOF文件时是否禁用同步操作,Auto-aof-rewrite-percentage = 100 自动重写AOF文件的百分比阈值,Auto-aof-rewrite-min-size = 64mb 自动重写AOF文件的最小大小阈值,LuaTimeLimit = 5000 Lua脚本执行的最大时间限制(毫秒),LuaJITMode = on 是否启用LuaJIT模式,LuaJITSleepInterval = 10ms LuaJIT模式的休眠间隔(毫秒),LuaScriptTimeout = 500ms Lua脚本执行的超时时间(毫秒),Logfile = "" 日志文件路径及名称,Loglevel = notice 日志级别,Slaveof = "" 主从复制的从节点地址和端口号,Masterauth = "" 主从复制的主节点密码认证信息,ClusterNodes = "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/346467.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2024-03-04 07:48
Next 2024-03-04 07:52

相关推荐

  • redis操作对象的方式有哪些

    Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API,它常用于缓存,提高系统访问和处理速度。Redis的操作对象主要有以下几种:1. 字符串(String):字符串是Redis最基本的数据类型,可以包含任何数据,如文本、数字或者二进制数……

    2023-11-17
    0130
  • Redis序列化库的评测方法是什么

    评测Redis序列化库的方法包括性能测试、数据一致性测试、兼容性测试和易用性测试。

    2024-05-17
    0100
  • 解决redis批量删除key值的问题

    在Redis中,我们经常需要批量删除key值,直接使用DEL命令删除大量key值可能会导致性能问题,为了解决这个问题,我们可以采用以下几种方法:1、使用SCAN命令SCAN命令可以用于迭代数据库中的key值,通过SCAN命令,我们可以在不阻塞Redis服务器的情况下,逐个删除key值,以下是使用SCAN命令批量删除key值的示例代码:……

    2024-03-02
    0210
  • redis多对一映射怎么实现

    Redis是一个开源的,基于内存的数据结构存储系统,可以用作数据库、缓存和消息中间件,它支持多种数据类型,如字符串、列表、集合、散列和有序集合等,在本文中,我们将探讨如何在Redis中实现多对一映射。1、使用Hash数据结构Redis中的Hash数据结构可以用来实现多对一映射,Hash数据结构可以将多个键值对存储在一个哈希表中,每个键……

    2024-01-22
    0232
  • 服务器怎么装jdk

    在服务器上安装JredisJRedis是一个Java的分布式和可扩展的Redis客户端,它支持所有的Redis特性,包括集群、发布/订阅、事务等,下面是如何在服务器上安装JRedis的详细步骤。1、环境准备你需要一个已经安装了Java和Maven的服务器,你可以通过以下命令检查这两个是否已经安装:java -versionmvn -v……

    2024-04-04
    0185
  • redis取大数据时卡顿怎么解决的

    在处理大数据时,Redis可能会遇到性能瓶颈,这主要是因为Redis是一个单线程的服务器,当有大量并发请求时,它需要等待其他请求完成才能处理新的请求,为了解决这个问题,我们可以采用以下几种方法来提高Redis在处理大数据时的性能:1、使用Redis集群Redis集群是一组独立的Redis实例,它们通过复制和分片技术来实现数据的分布式存……

    2024-01-28
    0155

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入