草庐IT

phpRedis

全部标签

phpredis:运行脚本调用未定义函数 new Redis() 时出错

环境:CentOS6.5php5.5.3/php-fpm5.5.3nginx1.0.15php-redis2.2.8还在php.ini中添加了extension_dir和扩展设置然后重启php-fpm&nginx的服务并且我已确认已在phpinfo()中启用/加载了redis步骤:我正在尝试像这样运行php脚本出现错误:PHPFatalerror:Calltoundefinedfunction new Redis()in/home/html/test1.phponline2但是当我尝试在php交互式shell模式下运行相同的命令时,它运行良好。为什么?更新:我测试了这样一个脚本:pri

redis - phpredis调试方法不起作用

之后我最近更新了phpredis版本到3.0.0-rc1$data=$redis->debug('Key');变量转储($数据);给出输出bool(false)调试方法是否被禁用或需要做任何事情来使该方法工作 最佳答案 这是一个已知错误,请参阅thisissuereport. 关于redis-phpredis调试方法不起作用,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4113

PHPRedis 键删除和修改日期时间

如何知道删除了一个redis键的日期时间(以前是指一个特定的键存在但最近删除了我需要知道那个特定的时间key已删除)。redis键的修改日期时间(我想知道最后修改时间特定key的日期时间)。 最佳答案 开箱即用的Redis不会记录该信息-如果您需要跟踪它,则需要在删除/修改键时存储日期时间(例如使用排序集来存储键的名称和每次删除/修改后自己作为分数的时间戳。 关于PHPRedis键删除和修改日期时间,我们在StackOverflow上找到一个类似的问题: ht

php - 使用 phpredis 向 Redis 添加一组整数

我正在尝试通过PHPRedis扩展添加一组整数(sadd)。$Client->sadd('key',1,2,3);或者call_user_func_array([$Client,'sadd'],[1,2,3]);在监视器中我得到:"SADD""key""i:1""i:2""i:3"`这意味着它是序列化的。我该怎么做才不会序列化并插入到Redis中,就像我从命令行执行它一样。监控:"SADD""key""1""2""3" 最佳答案 看来是我的一些疏忽。在我的连接中我默认设置$Redis->setOption(Redis::OPT_SE

php - 无法使用phpredis库将Elasticache中的Redis集群连接到PHP

我能够使用ec2实例(在aws文档中给出)连接到elasticache中的redis集群,并且能够添加和获取键、值。但是当我尝试在同一个ec2实例上通过phpredis进行连接时,我没有收到任何错误,也没有任何数据。请帮我解决一下这个。互联网上没有太多关于这个特定问题的信息。我能够连接到在同一个ec2实例上运行的redis,但不能连接到elasticache。如果我能得到一些关于如何改变主机(redis集群端点)的例子。谢谢 最佳答案 使用Predis图书馆。使用Predis在集群模式下连接到RedisElastiCache端点,请

php - 修改通过 PHPRedis 管道返回的数组以包含键作为每个数组元素的索引

我在我的应用程序中使用phpredis,我有以下数据结构。帐户ID充当每个用户的key:$data=array("accId1"=>array("userId"=>"user0234","username"=>"apples","appversion"=>"1.0"),"accId2"=>array("userId"=>"user2342","username"=>"roses","appversion"=>"2.0")....);为了将以上内容存储在Redis中,我使用如下管道:$pipeline=$redis->multi(Redis::PIPELINE);foreach($dat

php - 使用 phpredis zadd 将多个项目添加到 zset

我想弄清楚如何通过phprediszadd方法将多个项目添加到zset。类似下面的内容ZADDmyzset2"二"3"三" 最佳答案 根据documentation,你可以传递分数/值对。$redis->zAdd('myzset',2,'two',3,'three'); 关于php-使用phprediszadd将多个项目添加到zset,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions

php - 在 PHPRedis session 上设置过期

我让Redis为我通过PHPRedis访问的几个子域运行共享session存储。sessioncookie的生命周期很长,因此用户不必经常登录,但我发现无论如何我必须大约每半小时登录一次。检查Redis实例表明每个键的TTL默认设置得非常低(大约1500秒)。PHPRedis文档是这样说的:SessionshavealifetimeexpressedinsecondsandstoredintheINIvariable"session.gc_maxlifetime".Youcanchangeitwithini_set().不清楚这是指cookie的生命周期还是Rediskey的TTL。我

php - 为windows编译phpredis

我正在尝试为我的开发服务器找到phpredis扩展(php),我知道如何在linux上构建它,但我不确定如何在Windows上实现它,我已经尝试过互联网上可用的那个,但那是VC9版本,而我的php是用VC6编译的,任何人都有VC6版本或知道如何在windows上编译它。谢谢 最佳答案 VC6和VC9版本:https://github.com/nicolasff/phpredis/downloads 关于php-为windows编译phpredis,我们在StackOverflow上找到一

phpredis:BITOP + php 内爆 - 不工作

我有一个数组$array=array("连衣裙","套装");当我尝试使用phpredis制作BITOP时$value=implode(",",$array);$redis->bitOp('AND','color',$value);echo$redis->bitcount('color');我得到0。也尝试过$value="'".implode("','",$array)."'";没有结果。但是当我做$redis->bitOp('AND','color','dresses','suits');echo$redis->bitcount('color');一切都很好。它给了我30如何解决?