问题标签 [phpredis]
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.
php - 在 Redis 上安全地存储 PHP 会话的身份验证密钥
假设一个站点正在使用 redis(远程)存储会话数据,并且该 redis 存储受 auth 密钥保护
所以在 php.ini 中,使用 phpredis,它被设置为:
有什么办法可以让这更安全一点吗?服务器上运行 phpinfo() 的任何人;可以看到身份验证字符串...
php - phpRedis 迁移到集群和一致性哈希
我们目前正在使用PhpRedis
扩展,我们的代码是Redis
使用PhpRedis
. 但是现在我们正在迁移到一个 redis 集群。
是否可以使用类 Redis 连接到 redis 集群?还是我们需要重新编写代码并使用类 RedisArray?
我们也需要有一致的散列。我们已经添加了这样的键,{user}:1
以便我们以后可以进行一致的散列。
主要问题是使用该类编写的所有代码Redis
并将其更改为RedisArray
.
我是redis的新手,所以请提供一些建议
谢谢
php - 使用redis实现消息队列出错,使用BLPOP出错
我正在尝试使用 Redis 构建消息队列。每当客户端发送新数据时,它们都会被添加到列表中。
这是它的代码
现在有一个单独的脚本slave.php弹出新到达的数据并对其进行处理。slave.php 的代码
我已经修改了 apache 启动脚本,以便 slave.php 应该使用 apache 启动和停止。它运作良好。但是在等待几分钟后,brPop 停止侦听并显示如下错误消息:
根据文档,如果 list 为空,则 BLPOP/BRPOP 会阻止连接,直到另一个客户端对其中一个键执行 LPUSH 或 RPUSH 操作。但这在我的情况下没有发生。在我的情况下,一旦 brpop 阻止连接,即使新数据到达列表中,它也不会再次收听。
我应该进行哪些更改才能使其正常工作?
php - 使用 phpredis - ubuntu 12.04
我正在尝试安装 phpredis 库以在我的 php 脚本中使用 redis。我按照这里的说明https://github.com/nicolasff/phpredis,也运行了 apache 使用的脚本。/etc/php5/cli/conf.d
我在其中添加了一个 redis.ini 文件extension=redis.so
。我检查了它redis.so
是否存在于/usr/lib/php5/20090626
其他图书馆等mysql.so
也存在的地方。Mysql 在 php 中运行良好,但是当我尝试使用 php redis 时,
$redis = new Redis();
此调用不会返回,此语句之后的任何内容都不会执行。
PS:我对 php、ubuntu、redis 等比较陌生。
编辑:我只需要重新启动 apache 服务器。问题可以关闭。
php - 如何使用 php redis 获取 redis 中的所有键?
我正在使用https://github.com/nicolasff/phpredis 扩展来访问 redis。我想从 PHP 代码中获取 redis 中的所有键。我尝试了以下代码:
但是在 shell 中执行以下命令会给出结果:
我可以通过 PHP 脚本以下列方式设置密钥和数据:
如何KEYS *
使用 phpredis 从 redis 获取?
redis - Redis如何存储关联数组?设置或散列或列表?
我对 Redis 的所有可用存储选项有点困惑。我想做一些简单的事情,我不想过度设计它。我正在使用phpredis
和Redis v2.8.6
。
我有一个需要存储的简单关联数组。我还需要能够通过其键检索项目并遍历所有项目。
所以到目前为止我所做的是使用hash
类型。像这样存储我的数组:
像这样我可以像这样轻松访问密钥:
但是现在我需要遍历所有我不知道该怎么做的帖子,以及我是否可以用我目前的结构来做。我不知道是否需要将所有内容存储post_id
在另一个列表中以便能够遍历所有帖子?
所以我的问题是我应该使用哪种数据类型来存储我的帖子列表,允许我通过其 id 获取单个帖子并遍历所有帖子?
谢谢,马克西姆
redis - 如何对 SET 进行排序并获取完整的 HASH
我是 Redis 的新手,我不得不说我喜欢它直到现在 :)
我遇到了一个问题,我不确定如何以更有效的方式解决它。我有一个SET
。HASH
每个HASH
描述一个帖子。
这是创建和存储的代码HASH
:
现在,以前我将所有帖子的属性存储在(json_encoded) 的一个data
字段中HASH
,我正在获取如下信息:
它工作得很好,我有所有的帖子信息:)
但是我在 Redis 中更新帖子时遇到了冲突(并发更新),所以我决定将所有帖子的属性分开fields
,HASH
它解决了我的冲突问题。
现在我遇到的问题是HASH
从我的SET
. 我是否必须像这样指定每个字段:
还是有另一种方法可以HASH
直接在SET
?
我听说过,pipeline
但我不确定它是否是我正在寻找的东西,以及我是否可以使用它phpredis
干杯,马克西姆
更新
我不确定我是否清楚地解释了自己。我在一组 ( post_id
) 中有一些元素。我想获得 的前 10 个帖子SET
,这意味着我想要 10 个hash
(及其所有字段和值)来构建一个post
对象。
我以前将所有对象信息存储在哈希 ( data
) 的一个字段中,现在我每个对象的属性都有一个字段。
前:
myHash:<id> data
现在:
myHash:<id> id "1234" created "2010-01-01" author "John"
在我SORT
用来获取前 10 个帖子(并且很容易分页)之前,如下所示:
现在我的哈希中有 X 个成员,我想知道最好的解决方案是什么。
是吗:
或者可能:
或者最后:
或者还有什么我还不知道的?最好、更快的方法是什么?
makefile - 使用 pecl 在 osx 上安装 phpredis
phpredis
我在 Mac OSX Maverics 上安装时遇到了一些问题。
我确实已经redis server
安装并运行了。我曾经sudo pecl install redis
安装过phpredis。现在,当我这样做时,出现了这样的情况:
这是怎么回事?由于缺少 php.h 文件,像 make 这样的接缝失败。但是为什么会这样,我该如何解决呢?
php - 在redis中存储大量数据时内存不足
我正在尝试在 PHP Redis ( Predis ) 中执行此查询:
这段代码需要很长时间,但它不应该耗尽内存,此外,我已经编辑了我的php.ini
文件并更改memory_limit
为5000M
!
但是,在更改之后,我仍然收到此错误:
致命错误:允许的内存大小 xxxxxxxxxxxx 已用尽。
php - redis 服务器每 5 分钟崩溃一次
我正在使用 phpredis 设置一个哈希条目,它从 mysql 中提取数据;因为我正在将一些数据从我的 MySQL 数据库迁移到 redis 以便更快地访问,因为我在 redis 中所做的数据/更改量很大(4 GB),它每 5-10 分钟(变量)后崩溃。
日志说:
这让我一次又一次地重新启动 redis,这非常痛苦,我已经将 vm.overcommit 设置为 1。
我在 Ubuntu 12.04 LTS 上使用具有 1.6 GB RAM 的 AWS ec2 小型实例。
请给我一些聪明的解决方案。
提前致谢。