marufmax/deja-vu

使用redis sentinel、主节点和从节点进行缓存。支持PHPRedis客户端

1.0.1 2020-08-17 05:25 UTC

This package is auto-updated.

Last update: 2024-09-24 05:26:00 UTC


README

Laravel - DejaVu

Laravel Redis sentinel支持高可用性 ⬆️ ⬆️ 🔥

特性

  • 支持多个Sentinel、从节点和主节点
  • 如果存在实例,则读取从节点并写入主节点。如果有实例可用,它将向该实例发送请求
  • 默认启用连接池,因此没有多个TCP连接
  • 自动发现主节点和从节点,随机流量传递

安装

此包需要最低的PHP 7.2和Laravel 7.x版本。以及根据您的PHP版本安装PHPRedis。

安装PHPRedis(如果您已安装,请跳过)

安装PHP-Pear

apt install -y php-pear

安装Redis客户端

printf "no\n" | pecl install redis

将扩展添加到php模块

echo "extension=redis.so" > /etc/php/7.YOUR_PHP_VERSION/mods-available/redis.in

与FPM和CLI建立符号链接

ln -sf /etc/php/7.YOUR_PHP_VERSION/mods-available/redis.ini /etc/php/7.YOUR_PHP_VERSION/fpm/conf.d/20-redis.ini
ln -sf /etc/php/7.YOUR_PHP_VERSION/mods-available/redis.ini /etc/php/7.YOUR_PHP_VERSION/cli/conf.d/20-redis.ini

重启PHP服务

systemctl restart php7.YOUR_PHP_VERSION-fpm.service

安装DejaVu包

从终端运行此命令

composer require marufmax/dejavu

将这些添加到您的.env文件中

# Redis Configuration (Use comma Separated if have multiple)
REDIS_SENTINELS=localhost,localhost
REDIS_SENTINELS_PORTS=27379,27380
REDIS_PASS=AStrongPassword

这里有两组redis sentinel服务器。请只放入sentinel服务器,不要放入任何主节点或从节点的IP。由于redis sentinel的限制,请为每个主机设置相同的密码。请参阅https://github.com/bitnami/bitnami-docker-redis-sentinel/issues/23

快速使用

简单地使用DejaVu外观代替Cache外观。以下是一个非常简单的示例

\MarufMax\DejaVu\Facades\DejaVu::put('hi', 'hello', 36);

dd(\MarufMax\DejaVu\Facades\DejaVu::get('hi'));

谢谢 🐱