redis有两种集合
set:redis的set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。复杂度O(1),成员个数2的32次方-1,约40亿
以下是使用
public static function setOneBuy($key)//加入集合
{
//因为set是去重的,所以在增加的时候,不需要考虑之前是否存在
\Yii::$app->redis->SADD(CacheVariableService::One_Buy, $key);
}
public static function delOneBuy($key)//删除集合
{
//删除也是一样,就算里面没有这个元素,也不会有影响
\Yii::$app->redis->SREM(CacheVariableService::One_Buy, $key);
}
public static function getOneBuy()//获取集合
{
return \Yii::$app->redis->SMEMBERS(CacheVariableService::One_Buy);
}
以上是常用的,还是其它命令
SCARD key 获取集合的成员数
SISMEMBER key member 判断member 元素是否是集合key的成员
还有一些其实命令,可以自行参考文档
zset:有序集合和集合也是一样,不允许重复成员。
不同的是每个元素都会关联一个double类型的分数。redis 正是通过分数集合中的成员从小到大排序。也是40亿个成员。使用见官方文档