Maison > Questions et réponses > le corps du texte
Redis版本
我后台的程序设置了会员ID的起始数
<?php
$redis->set('userId',intval($start));
?>
前台的会员注册会获取这个userId,然后当做它的ID
<?php
$userId = $redis->get('userId');
if($model->insert(['userId'=>$userId])){
$redis->incr('userId');
}
但现在的问题是,我无论怎么注册会员,这个redis中的userId都不会变,在服务器上操作
incr userId
会返回错误“(error) ERR value is not an integer or out of range”
get userId
"i:10003;"
求大神,没用过几次redis,有些蒙
怪我咯2017-04-24 09:12:30
Je suppose que vous avez utilisé
lors de l'initialisation du code$redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);
Donc, la valeur finale de la base de données est une chaîne "i:10003;"
, et la chaîne ne peut pas être augmentée
$r = $redis->incr('userId'); // 这里的返回值应该是 false
Si vous devez utiliser la sérialisation, vous ne pouvez utiliser que zIncrBy. Ce qui est sérialisé par zIncrBy est membre et l'opération est un score, elle ne sera donc pas affectée
PHP中文网2017-04-24 09:12:30
C'est bon pour moi, vous pouvez l'essayer selon mes instructions.