redis的基本数据类型为:
stringlistsethashzsetzset的命令都以"z"开头:
zadd <zset> [XX/NX] <score> <member>... #向有序集合zset中添加成员: #当添加XX选项时,表示只更新成员,不添加新成员; #当添加NX选项时,表示不更新成员,只添加新成员; zrange <zset> <start> <end> [WITHSCORES] #获取zset中指定范围内的闭区间成员,返回值以score升序排序 #当添加WITHSCORES选项时,表示同时返回指定范围内的成员和score zrangebyscore <zset> <min> <max> [WITHSCORES] #获取zset中指定范围内的闭区间成员,返回值以score升序排序 #min和max可写为-inf和+inf,表示获取zset中以score升序排序的全部成员 #当min和max前面加上(,代表开区间 #例: zrangebyscore zset (1 (5 => 1 < score < 5 zrevrange <zset> <start> <end> [WITHSCORES] #获取zset中指定范围内的闭区间成员,返回值以score降序排序 zrevrangebyscore <zset> <max> <min> [WITHSCORES] #获取zset中指定范围内的闭区间成员,返回值以score降序排序 zrem <zset> <member>... #移除zset中指定的成员,返回移除的成员个数 zcard <zset> #获取zset中成员个数 zcount <zset> <min> <max> #获取zset中指定闭区间范围内的成员个数 zrank <zset> <member> #获取zset中指定成员member的排名,排名从0开始 #交集、并集 zinterstore <zset> <setnums> <zset1> <zset2>... [WEIGHTS weight] [SUM|MIN|MAX] #获取给定的setnums个zset1、zset2等集合的交集放入zset中 #setnums参数写给定集合的个数 #[WEIGHTS weight]选项:为每个给定集合指定一个乘法因子,每个给定集合成员的score值在传递给聚合函数之前都要先乘以该因子。 #如果WEIGHTS没有给定,默认就是1。 #[SUM|MIN|MAX] 选项:指定并集的结果集的聚合方式。 #默认参数为sum可不写,将所有集合中某个成员的score值之和作为结果集中该成员的score值。 #如果使用参数MIN或者MAX,结果集就是所有集合中元素最小或最大的元素。例:
redis> ZADD zset1 1 "one" (integer) 1 redis> ZADD zset1 2 "two" (integer) 1 redis> ZADD zset2 1 "one" (integer) 1 redis> ZADD zset2 2 "two" (integer) 1 redis> ZADD zset2 3 "three" (integer) 1 redis> ZINTERSTORE out 2 zset1 zset2 WEIGHTS 2 3 (integer) 2 redis> ZRANGE out 0 -1 WITHSCORES 1) "one" 2) "5" 3) "two" 4) "10" zunionstore <zset> <setnums> <zset1> <zset2>... [WEIGHTS weight] [SUM|MIN|MAX] #获取给定的setnums个zset1、zset2等集合的并集放入zset中例:
redis> ZADD zset1 1 "one" (integer) 1 redis> ZADD zset1 2 "two" (integer) 1 redis> ZADD zset2 1 "one" (integer) 1 redis> ZADD zset2 2 "two" (integer) 1 redis> ZADD zset2 3 "three" (integer) 1 redis> ZUNIONSTORE out 2 zset1 zset2 WEIGHTS 2 3 (integer) 3 redis> ZRANGE out 0 -1 WITHSCORES 1) "one" 2) "5" 3) "three" 4) "9" 5) "two" 6) "10"