博客
关于我
Redis-----大集合(主从复制,哨兵,集群)
阅读量:239 次
发布时间:2019-03-01

本文共 3194 字,大约阅读时间需要 10 分钟。

Redis 安装与使用指南

1. Redis 安装

1.1 安装前准备

在安装 Redis 之前,确保你的系统满足以下要求:

  • 操作系统: CentOS 7 或以上版本。
  • 内存:建议至少 1GB RAM。
  • 存储空间:至少 50MB 可用空间。

1.2 通过 YUM 安装

Redis 可通过 YUM 仓库安装。首先安装必要的依赖包:

yum -y install centos-release-sclyum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutilsscl enable devtoolset-9 bash

1.3 下载并安装 Redis 源码包

下载 Redis 的最新版本,并解压安装:

wget http://download.redis.io/releases/redis-4.0.10.tar.gztar -xf redis-4.0.10.tar.gzcd redis-4.0.10make && make install

1.4 启动 Redis 服务

/etc/redis 目录下创建配置文件:

mkdir /etc/rediscp redis.conf /etc/redis/6379.conf

使用 systemd 管理 Redis 服务:

# 创建服务配置文件echo "[Unit]Description=RedisAfter=network.target[Service]Type=simpleExecStart=/usr/local/bin/redis-server /etc/redis/6379.conf --daemonize noExecStop=/usr/local/bin/redis-cli -p 6379 shutdownWorkingDirectory=/usr/local/bin[Install]WantedBy=multi-user.target" > /etc/systemd/system/redis.service# 启用服务systemctl enable redis.servicesystemctl daemon-reloadsystemctl start redis

2. Redis 配置

2.1 配置监听地址

编辑配置文件:

vi /etc/redis/6379.conf# bind 127.0.0.1 192.168.1.10

2.2 启动守护进程模式

在配置文件中设置 daemonize yes,然后重启服务:

systemctl stop redissystemctl start redis

2.3 检查服务状态

systemctl status redis

3. Redis 数据类型

3.1 基本数据类型

Redis 支持多种数据类型,包括字符串、列表、哈希、集合和有序集合。

3.1.1 字符串

基本操作示例:

# 设置值redis-cli -p 6379 set name shark EX 10# 获取值redis-cli -p 6379 get name# 执行批量操作redis-cli -p 6379 --batch \  set name1 value1 \  set name2 value2

3.1.2 列表

列表支持动态大小和快速插入删除:

# 添加元素(左端插入)redis-cli -p 6379 lpush list a b c# 获取列表长度redis-cli -p 6379 llen list# 弹出左端元素redis-cli -p 6379 lpop list

3.1.3 哈希

哈希适用于键值对存储:

# 设置多个字段redis-cli -p 6379 hmset userinfo username shark userpsw 123456# 获取单个字段redis-cli -p 6379 hget userinfo username

3.1.4 集合

集合元素唯一且无序:

# 添加元素redis-cli -p 6379 sadd s1 a b c# 获取所有元素redis-cli -p 6379 smembers s1

4. PHP 与 Redis 集成

4.1 安装 PHP-Redis 驱动

安装步骤:

# 下载并解压wget https://github.com/phpredis/phpredis/archive/4.2.0.tar.gzcd phpredis-4.2.0make && make install# 配置 PHPvi /etc/php.iniextension=redis.so

4.2 验证安装

php -m | grep redis

4.3 使用 Redis 连接

示例连接代码:

connect('localhost', 6379);$redis->set('key', 'value');echo $redis->get('key');?>

5. Redis 持久化存储

Redis 提供两种持久化方式:RDB 和 AOF。

5.1 RDB

RDB 将数据库快照保存为二进制文件:

# 启用 RDBvi /etc/redis/6379.confsave 900 1# 或禁用自动生成# save 300 10# save 60 10000# 启用 bgsaveredis-cli bgsave

5.2 AOF

AOF 记录所有写入命令:

vi /etc/redis/6379.confappendonly yesappendfreq 60# 启用 AOFredis-cli -p 6379 bgrewriteaof

6. Redis 主从复制

6.1 配置主从

从服务器执行:

redis-cli -p 6379 slaveof 172.16.153.178 6379

6.2 配置 Sentinel

Sentinel 负责监控主从状态:

# 配置文件示例bind 0.0.0.0port 27000daemonize yessentinel monitor mymaster 127.0.0.1 6379 2sentinel down-after-milliseconds mymaster 3000sentinel failover-timeout mymaster 5000

6.3 故障转移

Sentinel 会自动将从服务器升级为主服务器:

# 停止主服务器redis-cli -p 6380 shutdown# 检查 Sentinel 状态redis-cli -p 27000 info

7. Redis 集群

7.1 集群特点

  • 主从复制
  • 数据分片存储
  • 高可用性

7.2 集群节点

每个节点负责特定范围的数据槽。

7.3 集群安装

步骤:

  • 配置主节点和从节点。
  • 启动所有节点。
  • 创建集群:
  • redis-cli --cluster create 192.168.122.230:7001 192.168.122.230:7002 192.168.122.230:7003 --cluster-replicas 1

    7.4 集群扩容

    添加新节点并分配槽:

    # 添加主节点redis-cli --cluster add-node new_host:new_port existing_host:existing_port --cluster-master# 分配槽redis-cli --cluster reshard

    通过以上步骤,用户可以完成 Redis 的安装、配置和使用,确保数据库的高可用性和数据持久化。

    转载地址:http://lexv.baihongyu.com/

    你可能感兴趣的文章
    query简单入门到精通细节 - (六)Jquery效果之“淡入与淡出”
    查看>>
    PL/SQL提示“ORA-01722:无效数字,将无效数字查找出来
    查看>>
    PL/sql语法单元
    查看>>
    PL/SQL连接远程服务器数据库,出现ORA-12154: TNS: 无法解析指定的连接标识符。
    查看>>
    pl/sql锁
    查看>>
    PL2303 Windows 10 驱动项目常见问题解决方案
    查看>>
    QueryPerformanceCounter与QueryPerformanceFrequency
    查看>>
    Plaid.com的监控系统如何实现与9600多家金融机构的集成
    查看>>
    Plain Stock Prediction:基于RNN的股票价格预测工具
    查看>>
    platform_driver与file_operations两种方法开发led驱动
    查看>>
    PlatON共识方案详解:应用CBFT共识协议,提高共识效率
    查看>>
    QueryDict和模型表知识补充
    查看>>
    Querybase 使用与安装教程
    查看>>
    Playwright与Selenium的对比:谁是更适合你的自动化测试工具?
    查看>>
    quarz设置定时器任务的有效时间段_定时器?你知道有几种实现方式吗?
    查看>>
    PLC、DCS、SCADA的选型
    查看>>
    PLC中的电子凸轮的简单介绍
    查看>>
    PLC发展详解-ChatGPT4o作答+匹尔西
    查看>>
    PLC探针有什么用
    查看>>
    PLC接线详解
    查看>>