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,有些蒙
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我猜想你初始化代码的时候用了
所以到数据库的最终值是一个字符串
"i:10003;"
,而字符串就不能 incr 了如果你一定要使用序列化,只能将就使用 zIncrBy,zIncrBy 被序列化的是 member,操作的是 score,所以不会受到影响
我这个是可以的,你按照我的试试。
"i:10003;"
设置的userId根本不是数字啊