phpredis - Redis中incr的问题
阿神
阿神 2017-04-24 09:10:30
0
3
743

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

阿神
阿神

闭关修行中......

membalas semua(3)
刘奇

Saya rasa anda menggunakan

semasa memulakan kod
$redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);

Jadi nilai akhir kepada pangkalan data ialah rentetan "i:10003;" dan rentetan itu tidak boleh dimasukkan

$r = $redis->incr('userId'); // 这里的返回值应该是 false

Jika anda mesti menggunakan serialisasi, anda hanya boleh menggunakan zIncrBy Apa yang disiri oleh zIncrBy ialah ahli dan operasi adalah markah, jadi ia tidak akan terjejas

洪涛

Ini boleh bagi saya, anda boleh mencubanya mengikut arahan saya.

PHPzhong

"i:10003;"Set userId bukan nombor sama sekali

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan