Java客户端Jedis
Jedis:一款java操作redis数据库的工具
使用步骤:
- 下载jedis的jar包
- 使用:
Jedis的测试类
public class JedisTest{
@Test
public void test1(){
//1.获取连接
Jedis.jedis = new Jedis( "localhost", 8080);
//2.操作
jedis.set("username", "zhangsan');
//3.关闭连接
jedis.close();
}
}
Jedis操作各种redis中的数据结构
- 字符串类型string
set
get
// string数据结构操作
@Test
public void test2(){
//1.获取连接
Jedis jedis = new Jedis();//如果使用空参构造,默认值"localhost" ,6379端口
//2.操作
//存储
jedis.set("username", "zhangsan");
//获取
String username = jedis.get("username");
System.out.println(username);
//可以使用setex()方法存储可以指定过期时间的key value
jedis.setex("activecode", 20, "hehe" );
//将activecode: hehe键值对存入redis,并且20秒后自动删除该键值对
//3.关闭连接
jedis.close();
}
- 哈希类型hash : map格式
hset
hget
// hash数据结构操作
@Test
public void test3(){
//1.获取连接
Jedis jedis = new Jedis();//如果使用空参构造,默认值"localhost" ,6379端口
//2.操作
//存储hash
jedis.hset("user", "name", "lisi");
jedis.hset("user", "age", "23");
jedis.hset("user", "gender", "male");
//获取hash
String name = jedis.hget( "user", "name");
System.out.println(name);
//获取hash的所有map中的数据
Map<String,String> user = jedis.hgetAll("user");
// keyset获得键
Set<String> keySet = user.keySet();
for (String key : keySet) {
//获取value
String value = user.get(key);
System.out.printIn( key + ":" + value);
}
//3.关闭连接
jedis.close();
}
- 列表类型list : linkedlist格式。 支持重复元素
lpush / rpush
lpop / rpop
lrange start end : 获取范围
// list数据结构操作
@Test
public void test4(){
//1.获取连接
Jedis jedis = new Jedis();//如果使用空参构造,默认值"localhost" ,6379端口
//2.操作
// list存储
jedis.lpush( "mylist", "a","b","c");//从左边存
jedis.rpush( "mylist", "a","b","c");//从右边存
// list范围获取
List<String> mylist = jedis.lrange( "mylist", 0 , -1);
System.out.println(mylist);
// list弹出
String element1 = jedis.lpop("my1ist");//c
System.out.println(element1);
String element2 = jedis.rpop("mylist");//c
System.out.println(element2);
// list范围获取
List<String> mylist2 = jedis.lrange( "mylist", 0 , -1);
System.out.println(mylist);//b a a b
//3.关闭连接
jedis.close();
}
- 集合类型set :不允许重复元素
sadd
smembers :获取所有元素
// set数据结构操作
@Test
public void test5(){
//1.获取连接
Jedis jedis = new Jedis();//如果使用空参构造,默认值"localhost" ,6379端口
//2.操作
// set存储
jedis.sadd("myset", "java","php","c++");
// set获取
Set<String> myset = jedis.smembers("myset");
System.out.println(myset);//c++ java php
//3.关闭连接
jedis.close();
}
- 有序集合类型sortedset :不允许重复元素,且元素有顺序
zadd
// sortedset数据结构操作
@Test
public void test6(){
//1.获取连接
Jedis jedis = new Jedis();//如果使用空参构造,默认值"localhost" ,6379端口
//2.操作
// sortedset 存储
jedis.zadd("mysortedset", 3 , "小明");
jedis.zadd("mysortedset", 30; "小红");
jedis.zadd("mysortedset", 25, "小兰");
// sortedset 获职
Set<String> mysortedset = jedis.zrange("mysortedset", 0 , -1);
System.out.println(mysortedset);
//3.关闭连接
jedis.close();
}