Jedis

Jedis是Redis推荐的Java客户端。

Jedis-Getting started下载jedis-2.7.2.jar,以及从Download Apache Commons Pool下载依赖包commons-pool2-2.3.jar

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class JedisExample {
public static void main(String[] args) {
Set<String> sose = RedisSetsCase();
Iterator<String> iterator = sose.iterator();
while (iterator.hasNext())
System.out.println(iterator.next());
}
//使用Redis Sorted Sets的例子
public static Set<String> RedisSetsCase() {
Set<String> sose = new HashSet<String>();
@SuppressWarnings("resource")
JedisPool pool = new JedisPool(new JedisPoolConfig(), "127.0.0.1", 6379);
Jedis jedis = null;
try {
jedis = pool.getResource();
//类似于Redis的命令操作
jedis.zadd("sose", 0, "car");
jedis.zadd("sose", 0, "bike");
sose = jedis.zrange("sose", 0, -1);
} finally {
if (jedis != null) {
jedis.close();
}
}
pool.destroy();
return sose;
}
}

执行结果:

1
2
bike
car

继续前面的Redis数据类型

Bitmaps

  • Bitmaps包含未操作命令;
  • setbit命令将bbit的某位置1或0,并返回该位的初始值;
  • getbit命令获取bbit某位的值;
1
2
3
4
5
6
7
8
9
10
11
127.0.0.1:6379> setbit bbit 0 1
(integer) 0
127.0.0.1:6379> setbit bbit 1 1
(integer) 0
127.0.0.1:6379> getbit bbit 0
(integer) 1
127.0.0.1:6379> getbit bbit 1
(integer) 1
127.0.0.1:6379> get bbit
"\xc0"
#获取bbit的值,为十六进制c0(1100 0000)
  • bitcount命令返回bbit中值为1的位数
1
2
127.0.0.1:6379> bitcount bbit
(Integer) 2
  • bitpos命令返回给定范围内第一个值为1或0的位,-1表示值不存在;
  • 可以添加参数设置bitpos命令的作用范围,范围是按字节划分,而不是比特位;
  • 结束范围缺省,默认为最后一个字节
1
2
3
4
5
6
7
8
9
#1100 0000
127.0.0.1:6379> bitpos bbit 1
(Integer) 0
127.0.0.1:6379> bitpos bbit 0
(Integer) 2
127.0.0.1:6379> bitpos bbit 1 1
(Integer) -1
127.0.0.1:6379> bitpos bbit 0 0 1
(Integer) 2