- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我以前用过 KEYS
命令在我的 Redis 数据库中搜索与特定模式匹配的键。从 Redis 2.8 开始,SCAN
命令似乎优于 KEYS
,因为它返回一个迭代器而不是一次扫描整个键空间。
我正在使用 Predis >= 0.8.5 应该支持 SCAN
命令的 PHP 迭代器。 Predis 没有很多文档,所以我想知道如何将以下 KEYS
命令转换为它的 SCAN
对应命令:
$client->keys($pattern)
我尝试了以下方法:
$client->scan('MATCH', $pattern);
哪种方法有效 - 但它不返回 native PHP 迭代器。使用 Predis 的内置迭代器支持会非常好。
最佳答案
我在 Predis examples directory 中找到了如何操作.
要使用 SCAN
在数据库中搜索匹配的键,您只需使用 Predis\Collection\Iterator\Keyspace
类:
use Predis\Collection\Iterator;
$client = ...;
$pattern = 'foo*';
foreach (new Iterator\Keyspace($client, $pattern) as $key) {
...
}
显然 Predis 在 Predis\Collection\Iterator
中为每个返回迭代器的命令都有一个迭代器类:
关于php - 如何在 Predis 中使用 SCAN 和 MATCH 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28545549/
我有一个带有 PHP 5.5.4 的新 EC2 实例,我正在尝试从 Pear 安装 Predis。每次我尝试从 pear 安装 Predis 时,我都会遇到以下错误。 有人知道为什么会这样吗?我在谷歌
当我尝试将“NX”添加到 predis 上的 zadd 命令时遇到问题。 redis 文档说 ZADD 应该支持 NX,但无论我如何设置 predis 命令,我都无法让它工作。有没有人对这个问题有任何
比如说,我在 predis 连接池中有 N 个服务器。我发现当其中一台服务器宕机时,predis 不起作用(即,如果任何服务器 Si 宕机, new predis/client(s1,s2,...)
所以我刚开始学习 Redis 并尝试使用此链接为 PHP 安装它:- https://github.com/nrk/predis 我通过 composer 安装它然后运行 :- require '
我正在尝试执行下一个命令。 Redis::hincrby('sentiment_combined:positive', 'рыжий кот', 1); 此命令非常适用于拉丁键,例如 'orange
我正在使用 Predis 连接到 Redis 3.0.2 集群。因此,我可以选择使用 predis 或 redis 集群策略。我想知道选择其中一个而不是另一个是否有任何重大的利弊? 根据我对文档的漫游
您好,我有以下内容: // Named array of connection parameters: $redis = new Predis\Client([ 'scheme
我正在尝试通过别名使用 Predis 分片,如 described here .我的代码基本相同,但我只返回空数组。我的哈希键周围需要 {} 吗? (编辑:不,只是试过了) $api->get("
predis 可以使用数组作为 hmget() 的第二个参数来一次检索多个字段吗?例如$client->hmget($key, $fields);//$fields 是一个数组 它是否也可以接受许多字
如何在客户端之间多次发布信息? 我的意思是当我从一个用户向另一个用户发布信息时,他会收到并向后发送,但这只有一次。 因为当一个用户向另一个用户发送内容时,GET 正在加载并且接收停止,我怎样才能做到这
如果 Redis 失败,是否可以指示 php predis ( https://github.com/nrk/predis ) 继续运行而不死掉? 我有Redis来处理应用程序缓存,但是应用程序可以在
我想知道如何使用 Redis 实现唯一访客计数器超时为 1 小时。我有一个小网上商店,我想显示目前有多少人正在查看一篇文章。最好的方法是什么?我正在使用 Predis 提前致谢 最佳答案 你需要做两件
我正在针对 AWS 上的 Elasticache 集群运行 Predis,该集群有一个写入主机和两个读取主机副本。 Predis 主从复制配置大致如下.. self::$client = new Pr
我正在使用 nrk/predis用于在我的 PHP 脚本中处理 Redis 客户端。 我正在尝试为该客户端中使用的所有键设置前缀: $client = new Predis\Client([
我最近开始使用PHP 和Redis(predis) 开发一个项目。我们可以通过在 redis-cli 中运行 INFO keyspace 命令来查看所有数据库及其 key 。我想知道如何使用 pred
我正在尝试通过 Predis 使用客户端分区。一切似乎都在工作,但我如何验证值是否存储在多个服务器上?我希望能够列出每台服务器上的所有 key ,但在 predis 文档中看不到如何操作。我尝试进行简
我正在尝试在 xampp 的本地机器上运行 laravel shop 菜单项目。但是当我尝试运行它时,它会显示以下错误。请帮我解决这个问题。我还附上了一个屏幕截图以便更清楚地说明。 提前致谢: 错误:
我尝试使用 lpush $list = "flavors"; $array = array($_GET["mainid"], $_GET["flavor1"], $_GET["flavor2"], $
我正在使用 predis php 客户端。我的代码是这样的: $ObjArray = get_object_vars ( $obj ); $redis->hmset("post:4545",$
Predis 声称拥有客户端分片(支持键的一致性散列)。 http://github.com/nrk/predis 我可以使用连接到一组配置文件(节点)来进行分片,但它不是一致的哈希。当我将另一个节点
我是一名优秀的程序员,十分优秀!