検索

ホームページ  >  に質問  >  本文

phpredis - Redis中incr的问题

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,有些蒙

阿神阿神2798日前750

全員に返信(3)返信します

  • 怪我咯

    怪我咯2017-04-24 09:12:30

    コードを初期化するときに使用したと思います

    リーリー

    したがって、データベースへの最終的な値は文字列 "i:10003;" となり、文字列を incr することはできません

    リーリー

    シリアル化を使用する必要がある場合は、zIncrByのみを使用できます。zIncrByでシリアル化されるのはメンバーであり、操作はスコアであるため、影響を受けません。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-24 09:12:30

    これは私にとっては問題ありません。私の指示に従って試してみてください。

    返事
    0
  • PHPz

    PHPz2017-04-24 09:12:30

    "i:10003;"設定された userId はまったく数字ではありません

    返事
    0
  • キャンセル返事