Redis简单入门六——通过事务操作有序集合(sorted set)

来源:互联网 发布:荼靡电视剧大结局知乎 编辑:程序博客网 时间:2024/05/18 06:27

Redis事务可以批量执行命令,一个事务从开始到执行会经历过三个阶段,通过MULTI来开始事务——>写命令——>执行事务(EXEC)。事务中的命令按顺序执行,并且在执行的过程当中不会被其它客户端发过来的命令打断。事物的操作是原子性的,事务中的命令要么全部执行,要么全部不执行。

先来看下Sorted Set的部分命令

1 ZADD key score1 member1 [score2 member2] :向有序集合添加一个或多个成员,或者更新已存在成员的分数
2 ZCARD key :获取有序集合的成员数
3 ZCOUNT key min max :计算在有序集合中指定区间分数的成员数
4 ZINCRBY key increment member :有序集合中对指定成员的分数加上增量 increment
5 ZINTERSTORE destination numkeys key [key ...] :计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中
6 ZLEXCOUNT key min max :在有序集合中计算指定字典区间内成员数量
7 ZRANGE key start stop [WITHSCORES] :通过索引区间返回有序集合成指定区间内的成员
8 ZRANGEBYLEX key min max [LIMIT offset count] :通过字典区间返回有序集合的成员
9 ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] :通过分数返回有序集合指定区间内的成员
10 ZRANK key member :返回有序集合中指定成员的索引
11 ZREM key member [member ...]:移除有序集合中的一个或多个成员
12 ZREMRANGEBYLEX key min max :移除有序集合中给定的字典区间的所有成员
13 ZREMRANGEBYRANK key start stop :移除有序集合中给定的排名区间的所有成员
14 ZREMRANGEBYSCORE key min max :移除有序集合中给定的分数区间的所有成员
15 ZREVRANGE key start stop [WITHSCORES] :返回有序集中指定区间内的成员,通过索引,分数从高到底
16 ZREVRANGEBYSCORE key max min [WITHSCORES] :返回有序集中指定分数区间内的成员,分数从高到低排序
17 ZREVRANK key member :返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
18 ZSCORE key member :返回有序集中,成员的分数值
19 ZUNIONSTORE destination numkeys key [key ...] :计算给定的一个或多个有序集的并集,并存储在新的 key 中
20 ZSCAN key cursor [MATCH pattern] [COUNT count] :迭代有序集合中的元素(包括元素成员和元素分值)

public static void main(String[] args) {
Jedis jedis = instanceJedis();
String key = "SortedSet";
Map<String, Double> setMap = new HashMap<String, Double>();
setMap.put("set1", 1d);
setMap.put("set2", 2d);
setMap.put("set3", 3d);
Transaction tx = jedis.multi();
tx.zadd(key, setMap);
tx.zcard(key);
tx.zcount(key, 0, 10);
Response<Set<String>> str = tx.zrange(key, 0, 10);
tx.exec();
Set<String> zetStr = str.get();
// Set<String> zetStr = jedis.zrange(key, 0, 10);
Iterator it = zetStr.iterator();
while(it.hasNext()){
System.out.println("key:" + it.next());
}
}

输出:

key:set1
key:set2
key:set3

其它命令就不一一列举了。


0 0
原创粉丝点击