| 
               
                 # 哈希(hash)做数据存储
 # 列表(list)保存哈希id
 # 集合(set)存储唯一值
 # redis不适合做多条件查询
 # 启用-->添加,停用-->删除(列表可以看到已停用的数据)
 # 删除-->删除(删除后列表看不到)
 
添加:
$redis->multi();
$redis->hMSet(
    'title_'.$id,
    array(
        'title_id' => $id,
        'a' => $a,
        'b' => $b,
    )
);
$redis->rPush('title_id',$id);
$redis->sAdd('title_title_'.$title_id,$id);
$redis->exec();
删除:
$redis->multi();
$redis->del('title_'.$id);
$redis->lRem('title_id',$id,0);
$redis->sRem('title_title_'.$title_id,$id);
$redis->exec();
修改:
$redis->hMSet(
    'title_'.$id,
    array(
        'a' => $a1,
        'b' => $b1,
    )
);
查询:a. 列表查询:
 $ret1 = $redis->sort(
    'title_id',
    array(
        'alpha' => false,
        'limit' => array($page - 1,$pagesize),
        'sort' => 'desc'
    )
);
$ret = array();
foreach($ret1 as $v){
$ret2 = $redis->hGetAll('title_'.$v);
$ret.push($ret2);
}
 b. 条件查询(条件为id): $ret1 = $redis->sort(
    'title_title_'.$title_id,
    array(
        'alpha' => true,
        'limit' => array($page - 1,$pagesize),
        'sort' => 'desc'
    )
);
foreach($ret1 as $v){
$ret2 = $redis->hGetAll('title_'.$v);
$ret.push($ret2);
}
集合操作:a. 判断是否属于父级成员:
 $ret = $redis->sIsMember('title_title_'.$title_id,$id);
 b. 求交集: $ret = $redis->sInter($key1,$key2,$key3,...);
 c. 求长度: $ret = $redis->sCard($key);
设置过期时间:
$redis->multi();
$redis->set($key,$value);
$redis->expire($key,$second);
$redis->exec();
排行榜:a. 添加:
 $redis->zAdd($title,$score,$value);
 b. 删除: $redis->zRem($title,$value);
 c. 增加分数: $redis->zIncrBy($title,$score,$value);
 d. 查看: $redis->zRevRange($title,$start,$end,true);  //  分数从高到低
$redis->zRange($title,$start,$end,true);  //  分数从低到高
$redis->zScore($title,$value);  //  查看指定成员的分数
队列:
while(true){
$ret = lPop($title);
sleep($second);
}
排序:
$redis->sort(
    $key,
    array(
        'limit' => array($start,$len),
        'sort' => 'asc' || 'desc',
        'alpha' => false
    )
);
 |