redisent/redis

为普通开发者提供简单、直接的Redis接口。它旨在灵活并适应Redis协议的更改。

1.10 2013-12-31 20:34 UTC

This package is not auto-updated.

Last update: 2024-09-22 03:59:22 UTC


README

Redisent是为普通开发者提供的简单、直接的Redis数据结构存储接口。它旨在灵活并适应Redis协议的更改。

简介

如果你对Redis协议和PHP对象有所了解,那么你已经掌握了Redisent。Redisent将方法调用转换为它们的Redis协议等效方法,抽象出细节,并将返回值转换为PHP兼容格式。

功能

共享Redis API

Redisent的方法名称直接映射到它们的Redis命令对应项。完整的列表可以在命令参考中找到。

设置键

$redis->set('foo', 'bar')
// SET foo bar

处理列表

$redis->lpush('particles', 'electron')
// LPUSH particles electron
$redis->lpush('particles', 'proton')
// LPUSH particles proton
$redis->lpush('particles', 'neutron')
// LPUSH particles neutron
$redis->llen('particles')
// LLEN particles

管道

Redisent为对Redis执行命令的管道提供流畅的接口。

$redis->pipeline()
  ->set('X', 2)
  ->incr('X')
  ->incr('X')
  ->uncork(); // #=> array containing the responses of each command

快速开始

Redisent除了需要PHP 5.3及以后的版本之外没有其他依赖。要将它添加到项目中,只需将Redis.php文件放入项目结构中,实例化一个Redis实例,然后开始执行命令。

require_once 'redisent/Redis.php';
$redis = new redisent\Redis('redis://');
$redis->set('awesome', 'absolutely');
echo "Is Redisent awesome? ", $redis->get('awesome'), "\n";

来自Redis的任何错误都将封装在resident\RedisException中并抛出。

管道

Redisent支持管道的流畅接口。通过在Redis实例上调用pipeline方法开始管道,使用Redisent作为通常使用,然后调用uncork方法。uncork方法返回一个包含管道命令响应的数组。

示例

$redis = new Redisent\Redis();
$responses = $redis->pipeline()
    ->incr('X')
    ->incr('X')
    ->incr('X')
    ->incr('X')
    ->uncork();
print_r($responses);

如果键X不存在,第一次INCR将创建它并返回1,后续调用将增加1。调用uncork()的返回值将是array(1,2,3,4),每个INCR命令的响应。

贡献

请提交拉取请求!特别欢迎功能/主题分支。单元测试使用SimpleTest编写,请在您的拉取请求中包含测试。要运行测试,运行sh setup.sh脚本来进行设置,然后运行php tests/all_tests.php来运行套件。

路线图

Redis已经变得非常功能丰富,Redisent落后于它。

  • 发布/订阅
  • 事务

关于

版权 © 2009-2012 Justin Poliey

许可证

根据ISC许可证许可。

版权(c)2009-2012 Justin Poliey justin@getglue.com

允许以任何目的使用、复制、修改和/或分发本软件,无论是否收费,前提是上述版权声明和本许可声明出现在所有副本中。

本软件按“原样”提供,作者放弃与该软件相关的所有保证,包括所有默示的适销性和适用性保证。在任何情况下,作者均不对任何特殊、直接、间接或后果性损害或任何由于使用、数据丢失或利润损失而产生的任何损害负责,无论此类损害是由于合同行为、疏忽或其他侵权行为引起的,无论与该软件的使用或性能是否有关。