首先项目中需要有redis的驱动包,下载Jedis.jar。
下载最新驱动包,放到项目的lib目录下,确保项目包含该驱动包。
如果是maven项目,可以直接在pom.xml文件中引入如下配置:
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.5.2</version>
</dependency>
连接Redis服务:
public static void main(String[] args){
//连接本地的Redis服务
Jedis jedis = new Jedis("127.0.0.1", 6379);
System.out.println("连接成功!");
//密码验证
jedis.auth("123456");
//查看服务是否运行
System.out.println("服务是否运行:" + jedis.ping());
}
输出结果如下,连接成功。
连接成功!
服务是否运行:PONG
String(字符串) 类型实例
public static void main(String[] args){
//连接本地的Redis服务
Jedis jedis = new Jedis("127.0.0.1", 6379);
System.out.println("连接成功!");
//密码验证
jedis.auth("123456");
//设置字符串数据
jedis.set("myKey", "testStr");
//通过key输出缓存内容
System.out.println("输出内容为:" + jedis.get("myKey"));
}
输出结果:
连接成功!
输出内容为:testStr
LIst(列表)类型实例
public static void main(String[] args){
//连接本地的Redis服务
Jedis jedis = new Jedis("127.0.0.1", 6379);
System.out.println("连接成功!");
//密码验证
jedis.auth("123456");
//存储List缓存数据
jedis.lpush("test-list", "Java");
jedis.lpush("test-list", "PHP");
jedis.lpush("test-list", "C++");
//获取list缓存数据
List<String> listCache = jedis.lrange("test-list", 0, 3);
for (int i = 0; i < listCache.size(); i++) {
System.out.println("缓存输出:" + listCache.get(i));
}
}
输出结果:
连接成功!
缓存输出:C++
缓存输出:PHP
缓存输出:Java
Hash(哈希)类型实例
public static void main(String[] args){
//连接本地的Redis服务
Jedis jedis = new Jedis("127.0.0.1", 6379);
System.out.println("连接成功!");
//密码验证
jedis.auth("123456");
//存储Hash类型缓存数据
Map<String, String> hashMap = new HashMap<String, String>();
hashMap.put("xiaoming", "man");
hashMap.put("xiaohua", "women");
hashMap.put("xiaoma", "man");
jedis.hmset("test-hash", hashMap);
//获取hash类型缓存数据
Map<String, String> hashData = jedis.hgetAll("test-hash");
System.out.println("获取hash缓存数据(xiaoming):"+hashData.get("xiaoming"));
System.out.println("获取hash缓存数据(xiaohua):"+hashData.get("xiaohua"));
System.out.println("获取hash缓存数据(xiaoma):"+hashData.get("xiaoma"));
}
输出结果:
连接成功!
获取hash缓存数据(xiaoming):man
获取hash缓存数据(xiaohua):women
获取hash缓存数据(xiaoma):man
Set(无序,不重复集合) 类型实例
public static void main(String[] args){
//连接本地的Redis服务
Jedis jedis = new Jedis("127.0.0.1", 6379);
System.out.println("连接成功!");
//密码验证
jedis.auth("123456");
//存储Set缓存数据
jedis.sadd("test-set", "Java");
jedis.sadd("test-set", "PHP");
jedis.sadd("test-set", "C++");
jedis.sadd("test-set", "PHP");
//获取set缓存数据
Set<String> setCache = jedis.smembers("test-set");
for(String setStr : setCache){
System.out.println("Set集合缓存输出:" + setStr);
}
}
输出结果:
连接成功!
Set集合缓存输出:PHP
Set集合缓存输出:C++
Set集合缓存输出:Java
ZSet(有序,不重复集合) 类型实例
public static void main(String[] args){
//连接本地的Redis服务
Jedis jedis = new Jedis("127.0.0.1", 6379);
System.out.println("连接成功!");
//密码验证
jedis.auth("123456");
//存储zset类型缓存数据
jedis.zadd("test-zset",1,"Java");
jedis.zadd("test-zset",3,"C++");
jedis.zadd("test-zset",2,"PHP");
jedis.zadd("test-zset",2,"PHP");
//获取zset缓存数据类型
Set<String> setCache = jedis.zrange("test-zset", 0, 5);
for(String setStr : setCache){
System.out.println("获取zset缓存数据:" + setStr);
}
}
输出结果:
连接成功!
获取zset缓存数据Java
获取zset缓存数据PHP
获取zset缓存数据C++
注:zset每个存储元素都会关联一个double类型的数值,redis就是根据这个数值进行排序的,数值可以重复,但是存储元素不可以重复。