之前的文章中讲解了Redis的安装及命令以及主要的数据结构,本文主要讲解如何在java下使用jedis进行对Redis的操作。
Jedis 是 Redis 官方首选的 Java 客户端开发包。
Jedis使用简单,通过内置的API能够很容易的操作Redis。
使用jedis之前首先保证系统中已经安装有能够正常服务的Redis实例,并且下载了Jedis的jar包,在如下位置可以下载2.7.2版本 http://download.csdn.net/download/teamlet/8914387
建立一个java工程,将下载到的jedis添加到build path中;
public class JedisSingleton {
private JedisSingleton() {}
private static Jedis jedis = new Jedis("localhost");
public static Jedis getJedisInstance() {
return jedis;
}
}
说明: 1. 这里通过一个单例模式的类建立了与Redis的连接 2. 通过方法getJedisInstance()返回jedis连接实例
public class JedisClient {
public static void main(String[] args) {
jedis内置的方法能够直接调用其命令执行到Redis的连接检查
//获取jedis实例
Jedis jedis = JedisSingleton.getJedisInstance();
//检查服务是否正常运行
System.out.println("服务正在运行:" + jedis.ping());
通过jedis的set(String key, String value)方法将字符串形式的K-V注入到Redis中
get(String key)方法将对应的key的value取出
//设置字符串数据
jedis.set("name", "snowalker");
System.out.println("取出字符串:name的值为" + jedis.get("name"));
lpush(String key, String strings[])方法写入Redis列表
同一个key下的列表能够通过java.util.List获取并遍历
//Redis列表
jedis.lpush("cartoon", "火影忍者");
jedis.lpush("cartoon", "Bleach");
jedis.lpush("cartoon", "OnePiece");
List<String> list = jedis.lrange("cartoon", 0, 3);
for (String string : list) {
System.out.println(string);
}
通过jedis的keys(pattern)方法读取到key的集合并遍历输出
注意,keys()方法的内部实现为Set,旧版本中使用List(),这里注意新旧版本的区别
//获取列表的所有key
//对应redis命令为keys *
//jedis的keys内部实现为set
System.out.println("**********keys***************");
Set<String> keys = jedis.keys("*");
for (String string : keys) {
System.out.println(string);
}
}
}
服务正在运行:PONG
取出字符串:name的值为snowalker
OnePiece
Bleach
火影忍者
OnePiece
**********keys***************
key1
key2
A
bar
cartoon
FOO
name