max/redis

A Redis package which supports read/write separation!

1.0.1 2021-08-25 00:08 UTC

This package is auto-updated.

Last update: 2021-10-12 15:55:07 UTC


README


Max

轻量 • 简单 • 快速

68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344372e322e302d627269676874677265656e 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d617061636865253230322d626c7565

Max框架Redis组件

如何使用

安装

composer require max/redis:dev-master

配置文件示例

/**
 * redis.php 
 */
<?php

return [
    //所有Redis的host[不区分主从]
    'host'   => [
        '127.0.0.1',
        '127.0.0.1',
        '127.0.0.1',
        '127.0.0.1',
        '127.0.0.1',
        '127.0.0.1',
        '127.0.0.1',
    ],
    //端口 string / array
    'port'   => 6379,
    //密码 string / array
    'auth'   => '',
    //主Redis ID [host中主机对应数组的键]
    'master' => [0, 1, 4, 5],
    //从Redis ID [host中主机对应数组的键]
    'slave'  => [2, 3, 6]
];
  • host 可以是字符串或者数组,字符串或者只有一个host的时候表示只有一台Redis,读写分离不会触发,数组为多台Redis,会触发读写分离
  • port / auth 可以是字符串或者数组,字符串表示所有主机共用同一套配置,否则每一台都应该设置对应的值,数组的键应该和host保持对应。
  • master 主服务器,负责写入,例如一些操作set,hSet 会使用主服务器,这个参数要求是一个数组,数组中的数字表示host配置中的host的键,这里主服务器有4台,会随机分配,可以重复某一个值来调整权重。例如'master' => [0, 1, 1, 1, 1, 1, 4, 5] ,这样的话分配给1号redis服务器的概率是5/8,而其他三台的概率均为1/8。
  • slave 从服务器,负责读取。配置类似master

所有配置均可以设置为字符串或者数组两种形式

代码示例

$config = include 'redis.php';
$redis  = new \Max\Redis($config);
$redis->set('t', 'test');
$redis->get('t');

欢迎参与开发

官网:https://www.chengyao.xyz