zunnu/redis

CakePHP 对 Redis 键值数据库的支持

维护者

详细信息

github.com/zunnu/cakephp-redis

源代码

安装数: 10,372

依赖关系: 0

建议者: 0

安全性: 0

星标: 0

关注者: 0

分支: 9

类型:cakephp-plugin

1.1 2023-12-15 13:36 UTC

This package is auto-updated.

Last update: 2024-09-15 15:14:18 UTC


README

此库允许您使用 CakePHP 的 ConnectionManager 创建和管理任何 Redis 数据库的连接。

Redis 是一个性能卓越的键值数据库,它还提供了一些用于处理大列表、哈希表甚至是 pub-sub 系统的独特功能。

连接到 Redis 数据库

此库假设您已经安装了 phpredispredis。我们建议安装 phpredis

在 app.php 文件中配置它

只需在 Datasources 键下添加任何新的命名配置

    'Datasources' => [
        ...
        'redis' => [
            'className' => 'Cake\Redis\RedisConnection',
            'driver' => 'phpredis', // Can also use a full class name or 'predis'
            'log' => false, // Log executed commands
            'host' => '127.0.0.1',
            'port' => 6379,
            'timeout' => [optional],
            'reconnectionDelay' => [optional],
            'persistentId' => [optional],
            'database' => [optional],
            'options' => [], // extra options for the driver
        ]
    ]

使用 ConnectionManager

您也可以使用 ConnectionManger 创建新的 Redis 连接

use Cake\Datasource\ConnectionManager;

ConnectionManager::config('redis', [
    'className' => 'Cake\Redis\RedisConnection',
    'driver' => 'Cake\Redis\Driver\PHPRedisDriver',
    'log' => false, // Log executed commands
    'host' => '127.0.0.1',
    'port' => 6379,
    'timeout' => [optional],
    'reconnectionDelay' => [optional],
    'persistentId' => [optional],
    'database' => [optional],
    'options' => [], // extra options for the driver
]);

在 Redis 中执行命令

您需要获取连接并执行命令

$redis = ConnectionManager::get('redis');
$redis->set('cakephp', 'awesome');
echo $redis->get('cakephp'); // Returns 'awesome'

确保您查看您可以在 PHPRedis Readme 中运行的所有命令。

在事务中执行命令列表

$redis = ConnectionManager::get('redis');
$redis->transactional(function ($client) {
    $client
        ->set('cakephp', 'awesome')
        ->set('another_key', 'value')
});

客户端实例将缓冲所有命令,并在链的末尾原子性地执行它们。

此方法使用内部 multi() 命令。