问题标签 [predis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
762 浏览

php - 使用 php 脚本测量 Redis 延迟

请原谅我问了这个基本问题。

我已经在本地 ubuntu 机器上安装了 redis 和 predis(客户端库)。现在,我正在我的 php 脚本中执行某些 SET/GET 操作。我只想知道如何“精确计算”redis 服务器完成“SET”或“GET”操作所花费的时间。redis-cli --latency 给你一个平均值,但实际上并没有列出任何操作所花费的单个时间。

我的目标是执行大约 100 条这样的指令,并找出每条指令执行的平均时间。

任何建议都非常受欢迎。

这是我的 php 客户端脚本:

我知道这不是正确的方法。如果有人可以建议一种正确的方法来计算这个平均延迟,那就太好了。我最终计划将其扩展到分布式系统。

提前致谢。

更新:

我尝试启用慢日志以查看特定命令的执行时间。但是,当命令集稍大(比如 100)时,则计算 avg。手动执行时间,成为一项繁琐的任务。我期待通过一个 php 脚本来完成它。

0 投票
2 回答
13905 浏览

php - PHP Predis:如何获取/删除包含特殊字符的键?

我需要删除一个包含一些特殊键的键(在我的例子中是方括号):

我执行以下操作,但它不起作用:

我也尝试引用密钥,但没有成功:

0 投票
1 回答
2839 浏览

symfony - 在 Dev Env - Symfony2 上禁用结果缓存(Redis)

我想在开发环境中禁用结果缓存。

我不想在开发环境中评论缓存代码或删除它们。

有没有办法在开发环境中禁用缓存?

我将 SNCRedisBundle 和 Predis 用于带有 Redis 的 Symfony2。

示例单个结果代码:

第二个问题:

插入/更新后有什么方法可以清除缓存吗?我知道我可以使用生命周期事件,但我想知道是否还有其他可用的选项......

完整配置:

0 投票
0 回答
984 浏览

php - php通过nodejs(socket.io)和redis向特定用户推送通知

我尝试使用 nodejs 和 redis 向特定客户端推送通知,但向请求的用户发出通知不起作用

我在 php 和 nodejs 和客户端中的代码如下:

0 投票
1 回答
201 浏览

mysql - 将 MySQL 中的主键映射到 Redis

我有一个 mysql 数据库,其表具有以下属性:p1、p2、p3、c1、c2、c3,其中 p1、p2 和 p3 是主键。现在的问题是,我想以“节省时间”的方式将其映射到 Redis,如果可能的话,也要“节省空间”。是这样想的:

场景一:p1 -> HashMap (c1, c2, c3)
p2 -> p1
p3 -> p1

但在这里,我需要两个操作(66% 的概率)来获取所需的 c1、c2、c3 值。p1 占用的额外空间(两次)也是一个问题。

场景 2:p1:p2:p3 -> HashMap(c1, c2, c3)

但这里的问题是我无法在不知道所有主键的情况下获取哈希图。

简而言之,我的目标是以时间有效的方式获取 c1、c2 和 c3,使用 p1、p2 或 p3(不是全部一起)。

0 投票
1 回答
1052 浏览

php - 尝试在 Windows 上使用 PEAR 安装 Predis

首先,我是 PEAR 和 Predis 的新手……我想在 Windows 7 上安装 Predis,这就是我到目前为止所做的……我已经在 C:/Redis 的计算机上安装了 Redis。PEAR 在 \wamp\bin\php\php5.3.10 中,并且安装成功。现在我尝试使用安装 Predis

它给了我以下错误

0 投票
3 回答
1193 浏览

php - 在分页表中显示大量数据而不会严重影响数据库

当前的实现是具有多个连接和临时表的单个复杂查询,但是给我的 MySQL 带来了太大的压力,并且需要 30 多秒的时间来加载表。PHP 通过 JavaScript Ajax 调用检索数据并显示在网页上。以下是涉及的表格:

一家公司可以在两个产品表之间拆分 100k+ 项。产品表由 line_name 联合和过滤,然后按 assembly_datetime 排序,并根据分页进行限制。datetime 值也依赖于时区,这作为查询的一部分应用(另一个 JOIN + temp 表)。line_name 也是返回的列之一。

我正在考虑将 line_name 过滤器从产品联合查询中分离出来。本质上,我会确定与过滤器相对应的行的 ID,然后使用 WHERE 条件进行 UNION 查询WHERE line_id IN (<results from previous query>)。这将消除对连接和临时表的需求,我可以将 line_name 应用于 PHP 中的 line_id 和时区修改,但我不确定这是处理事情的最佳方式。

我也研究过可能使用 Redis,但是当通过 PHP(20-30 秒)将所有数据推送到 Redis 时,大量的单个产品会导致同样长的等待时间,即使它只是直接从产品表。

  • 是否可以调整现有查询以提高效率?
  • 我可以将一些处理推送到 PHP 以减少 SQL 服务器上的负载吗?Redis 呢?
  • 有没有办法更好地构建表格?
  • 你会建议什么其他解决方案?

感谢您提供的任何意见。

编辑:

现有查询:

在这里它被格式化以获得一些可读性。

ID 被索引;主键是每列的第一个键。

0 投票
3 回答
6016 浏览

php - Predis - 如何使用带有 zadd 函数的数组?

我刚刚开始使用 Predis 进行 Redis 迁移,但无法让 zadd 函数与数组一起使用。

此代码有效:

这不会:

并且不会抛出任何错误。任何帮助深表感谢!

-J

0 投票
2 回答
2937 浏览

php - PHP Composer - predis/predis 1.1.x-dev 需要 php >=5.3.9 -> 找不到匹配的包

我正在尝试使用 composer 安装一个库,但我得到:

predis/predis 1.1.x-dev 需要 php >=5.3.9 -> 找不到匹配的包。

它位于 PHP 5.3.8 的本地开发服务器上。我不想在开发机器上更改 PHP 版本。这只是为了评估,我可以冒险将它与过时的 PHP 库一起使用。

即使我运行的是它不应该支持的 PHP 版本,如何覆盖并使 Predis 工作?

请注意,我正在安装另一个使用它的软件包。我不直接安装 Predis。在我正在安装的包的 composer.json 文件中,Predis 的定义如下所示:

0 投票
1 回答
792 浏览

php - 如何安装 PHPRedmin?

我正在尝试安装phpRedMin并遇到一些问题。我找到的所有文档都可用于旧版本的Apache。

我在 Ubuntu 中使用Apache 版本 2.4.7 ,但我无法找到

任何人都可以帮助如何安装它?