# 哈希(hash)做数据存储 # 列表(list)保存哈希id # 集合(set)存储唯一值 # redis不适合做多条件查询 # 启用-->添加,停用-->删除(列表可以看到已停用的数据) # 删除-->删除(删除后列表看不到)

  1. 添加:
$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();
  1. 删除:
$redis->multi();
$redis->del('title_'.$id);
$redis->lRem('title_id',$id,0);
$redis->sRem('title_title_'.$title_id,$id);
$redis->exec();
  1. 修改:
$redis->hMSet(
		'title_'.$id,
		array(
			'a' => $a1,
			'b' => $b1,
		)
	);
  1. 查询: 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);
}
  1. 集合操作: a. 判断是否属于父级成员:
$ret = $redis->sIsMember('title_title_'.$title_id,$id);

b. 求交集:

$ret = $redis->sInter($key1,$key2,$key3,...);

c. 求长度:

$ret = $redis->sCard($key);
  1. 设置过期时间:
$redis->multi();
$redis->set($key,$value);
$redis->expire($key,$second);
$redis->exec();
  1. 排行榜: 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);  //  查看指定成员的分数
  1. 队列:
while(true){
	$ret = lPop($title);
	sleep($second);
}
  1. 排序:
$redis->sort(
		$key,
		array(
			'limit' => array($start,$len),
			'sort' => 'asc' || 'desc',
			'alpha' => false
		)
	);