8288分类目录 8288分类目录 8288分类目录
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

redis服务器部署

来源:本站原创 浏览:56次 时间:2023-01-21
一、介绍

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

二、Redis部署1. 软件下载

wget https://download.redis.io/releases/redis-5.0.10.tar.gz

2. Redis安装

tar fx redis-5.0.10.tar.gz
cd redis-5.0.10/
make && make PREFIX=/usr/local/redis-5.0.10 install
ln -s /usr/local/redis-5.0.10/ /usr/local/redis
mkdir /usr/local/redis/conf
cp redis.conf /usr/local/redis/conf/

3. 配置环境变量

vim /etc/profile

REDIS_HOME=/usr/local/redisPATH=$REDIS_HOME/bin:$PATH

source /etc/profile

4. 修改配置文件

vim /usr/local/redis/conf/redis.conf

#监听地址,可以写多个以空格分隔bind 127.0.0.1#是否开启保护模式protected-mode yes#端口port 6379#此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度tcp-backlog 511#客户端空闲超时时间timeout 0#tcp会话保持时间tcp-keepalive 300#是否在后台运行daemonize yes#和操作系统相关参数可以设置通过upstart和systemd管理Redis守护进程supervised no#pid文件路径pidfile /var/run/redis_6379.pid#日志级别loglevel notice#指定了记录日志的文件logfile /usr/local/redis/logs/reids.log#数据库的数量databases 16#900s 内如果有 1次 Redis 键值发生改变,就会触发持久化save 900 1#300s 内如果有 10次 Redis 键值发生改变,就会触发持久化save 300 10#60s 内如果有 10000次 Redis 键值发生改变,就会触发持久化save 60 10000#bgsave持久化失败,是否停止持久化数据到磁盘stop-writes-on-bgsave-error yes#rdb文件是否压缩rdbcompression yes#写入文件和读取文件时是否开启rdb文件检查rdbchecksum yes#rdb持久化后存放的文件名dbfilename dump.rdb#持久化后文件的存放路径dir /usr/local/redis#表示开启AOF持久化,默认为noappendonly yes#AOF持久化文件名appendfilename "appendonly.aof"##缓冲同步策略#always:客户端的每一个写操作都保存到aof文件当#everysec:每秒写入一次aof文件,因此,最多可能会丢失1s的数据。 #交由操作系统来处理什么时候写入aof文件appendfsync everysec#是否重写,默认不重写no-appendfsync-on-rewrite no#AOF文件增长率auto-aof-rewrite-percentage 100#表示运行AOF重写时文件最小体积,默认为64MBauto-aof-rewrite-min-size 64mb#设置密码requirepass foobared
5. 启动/停止服务

redis-server /usr/local/redis/conf/redis.conf
redis-cli -a foobared shutdown

三、Redis主从复制1. Redis主从介绍

Master可以拥有多个slave;多个slave可以连接同一个Master外,还可以连接到其他的slave;主从复制不会阻塞Master,在主从复制时,Master可以处理client请求。

2. Redis主从配置

#在从节点上执行
vim /usr/local/redis/config/redis.conf
#连接主节点的IP和端口
replicaof 172.16.120.101 6379
#主节点密码
masterauth foobared

3. 启动服务(从节点)

redis-server /usr/local/redis/conf/redis.conf

四、Redis 哨兵模式1. 哨兵模式介绍

哨兵是对Redis的系统的运行情况的监控,它是一个独立进程,功能有二个:监控主机Redis和从机Redis是否运行正常、主机Redis出现故障后自动将从机转化为主机

2. 部署

cp sentinel.conf /usr/local/redis/conf/
vim /usr/local/redis/conf/sentinel.conf

#禁止保护模式protected-mode no#端口port 26379#修改为后台运行daemonize yes#指定PID文件pidfile /var/run/redis-sentinel.pid#日志文件logfile /usr/local/redis/logs/sentinel.log#配置哨兵工作路径dir /tmp#配置哨兵需要监控的主节点ip和端口,1表示哨兵数sentinel monitor mymaster 172.16.120.101 6379 1#指定服务器密码sentinel auth-pass mymaster foobared#配置多少毫秒后没收到主节点的反馈,则主观认为主节点down了sentinel down-after-milliseconds mymaster 30000#指定了在执行故障转移时, 最多可以有多少个slave同时对新的master进行同步sentinel parallel-syncs mymaster 1#表示如果30秒后,mysater仍没活过来,则启动failover,从剩下的slave中选一个升级为mastersentinel failover-timeout mymaster 30000
3. 启动服务

redis-sentinel /usr/local/redis/conf/sentinel.conf

五、Redis集群1. 介绍

Redis 的哨兵和主从模式基本已经可以实现高可用和读写分离 ,但是在这种模式下每台 Redis 服务器都存储相同的数据,浪费内存空间,所以在redis上加入了 Cluster 集群模式,实现了 Redis 的分布式存储。在 Redis 的每一个节点上,都有这么两个东西,一个是插槽(slot)它的的取值范围是:0-16383,一个是cluster。

2. ruby安装

wget https://cache.ruby-china.com/pub/ruby/ruby-2.3.1.tar.gz
tar fx ruby-2.3.1.tar.gz
cd ruby-2.3.1/
./configure
make && make install
ln -s /usr/local/bin/ruby /usr/bin/ruby

3. rubygems安装

wget https://rubygems.org/rubygems/rubygems-2.7.7.tgz
tar -zxvf rubygems-2.7.7.tgz
cd rubygems-2.7.7
ruby setup.rb

4. 安装redis和ruby的接口

gem install redis

5. 修改配置文件

vim /usr/local/redis/conf/redis.conf

#启动集群模式cluster-enabled yes#集群配置文件cluster-config-file nodes-6379.conf#redis节点宕机被发现的时间cluster-node-timeout 15000
6. 启动Redis服务

redis-server /usr/local/redis/conf/redis.conf

7. 创建集群

redis-cli --cluster create 172.16.120.101:6379 172.16.120.102:6379 172.16.120.103:6379 172.16.120.104:6379 172.16.120.105:6379 172.16.120.106:6379 --cluster-replicas 1 -a foobared
说明:
过程中会根据提示输入yes继续
create: 表示创建一个redis集群
--cluster-replicas: 表示为集群中的每一个主节点指定一个从节点
-a: 指定服务密码

8. 日常操作

#增加从节点
redis-cli --cluster add-node 172.16.120.107:6379 172.16.120.101:6379 --cluster-slave
#删除节点(删除主节点时需要先把主节点的槽位移走)
redis-cli -a foobared cluster nodes
redis-cli --cluster del-node 172.16.120.107:6379 99d2ceb080ef0d701546dea0901d4784a201fc06
#添加主节点(把107高为106的主节点)
redis-cli --cluster add-node 172.16.120.107:6379 172.16.120.106:6379
#重新分配槽位
redis-cli --cluster reshard 172.16.120.107:6379

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net