invincible-tech-systems/easeamp-mysql-redis

一个非常简单且安全的PHP库,可以轻松地从MySQL/MariaDB数据库实现Redis缓存预热。该库使用EaseAmpMysql和EaseAmpRedis包,这些包将AmPHP相关的MySQL和Redis包包装起来,以便与MySQL/MariaDB数据库以及Redis内存缓存进行异步和非阻塞交互。

1.0.8 2021-03-03 14:52 UTC

This package is auto-updated.

Last update: 2024-09-29 05:29:19 UTC


README

一个非常简单且安全的PHP库,可以轻松地从MySQL/MariaDB数据库实现Redis缓存预热。该库使用EaseAmpMysql和EaseAmpRedis包,这些包将AmPHP相关的MySQL和Redis包包装起来,以便与MySQL/MariaDB数据库以及Redis内存缓存进行异步和非阻塞交互。

为什么选择EaseAmpMysqlRedis?

虽然可以在MySQL/MariaDB上使用预编译语句,并且可以使用EaseAmpRedis包与Redis缓存交互,但EaseAmpMysqlRedis类可以以简单且方便的方式在MySQL/MariaDB上执行SQL查询,并与Redis缓存同步。

优点

  • 易于使用的封装方法来处理SQL查询和Redis缓存操作。

入门

使用Composer,运行

composer require invincible-tech-systems/easeamp-mysql-redis:^1.0.8

注意,vendor文件夹和vendor/autoload.php脚本是由Composer生成的;它们不是PDOLight的一部分。

要包含库,

<?php
require 'vendor/autoload.php';

use \InvincibleTechSystems\EaseAmpMysql\EaseAmpMysql;
use \InvincibleTechSystems\EaseAmpRedis\EaseAmpRedis;
use \InvincibleTechSystems\EaseAmpMysqlRedis\EaseAmpMysqlRedis;

由于Amphp/dns是这个库的依赖之一,为防止由于open_basedir限制/没有访问Linux服务器上的/etc/resolv.conf文件等原因可能发生的递归DNS服务器解析错误,请在您的代码中包含以下行,

use \InvincibleTechSystems\EaseAmpMysqlRedis\CustomAmphpDnsConfigLoader;

$customAmphpDnsConfigValues = ["208.67.222.222:53", "208.67.220.220:53","8.8.8.8:53","[2001:4860:4860::8888]:53"];

$CustomAmphpDnsConfigLoader = new CustomAmphpDnsConfigLoader($customAmphpDnsConfigValues, 5000, 3);

\Amp\Dns\resolver(new \Amp\Dns\Rfc1035StubResolver(null, $CustomAmphpDnsConfigLoader));

注意:如果在其他Amphp/dns依赖库(如EaseAmyMysql https://github.com/invincible-tech-systems/easeamp-mysql 或 EaseAmpRedis https://github.com/invincible-tech-systems/easeamp-redis)中加载了类似的自定义DNS配置加载器,请跳过包含上述内容。

为了连接到数据库,您需要通过传递数据库凭据作为参数初始化EaseAmpMysql类,以下顺序(服务器主机名、用户名、密码、数据库名)

$dbHost = "localhost";
$dbUsername = "database_username";
$dbPassword = "database_password_value";
$dbName = "database_name";

$dbConn = new EaseAmpMysql($dbHost, $dbUsername, $dbPassword, $dbName);
$redisHost = 'tcp://:6379';
$redisKeyNamespacePrefix = "MyFirstApp";
$redisKeyExpiryTimeInSeconds = 240;

$redisConn = new EaseAmpRedis($redisHost);

许可

本软件采用MIT许可证发布。请阅读LICENSE以了解软件可用性和分发信息。