marufmax / deja-vu
使用redis sentinel、主节点和从节点进行缓存。支持PHPRedis客户端
1.0.1
2020-08-17 05:25 UTC
Requires
- php: ^7.2.5
- illuminate/support: ^v7.3.0
Requires (Dev)
- orchestra/testbench: ^5.3.0
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'));
谢谢 🐱