찾다

 >  Q&A  >  본문

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일 전751

모든 응답(3)나는 대답할 것이다

  • 怪我咯

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

    코드 초기화시

    를 사용하셨나봐요 으아아아

    따라서 데이터베이스의 최종 값은 문자열 "i:10003;"이고 이 문자열은 증분될 수 없습니다

    으아아아

    꼭 직렬화를 사용해야 한다면 zIncrBy만 사용할 수 있습니다. zIncrBy로 직렬화하는 것은 멤버이고 연산은 점수이므로 영향을 받지 않습니다

    회신하다
    0
  • PHP中文网

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

    저는 괜찮습니다. 제 지시에 따라 시도해 보세요.

    회신하다
    0
  • PHPz

    PHPz2017-04-24 09:12:30

    "i:10003;"userId 집합이 전혀 숫자가 아닙니다

    회신하다
    0
  • 취소회신하다