一. Jedis
1.1 概念
- Jedis是一款java操作redis数据库的工具.
1.2 使用步骤
- 获取连接
Jedis jedis = new Jedis(“localhost”,6379); - 操作
jedis.set(“username”,“zhangsan”); - 关闭连接
jedis.close();
1.3 Jedis操作各种redis中的数据结构
1.3.1 字符串类型 string
Jedis jedis = new Jedis();
jedis.set("username","zhangsan");
String username = jedis.get("username");
System.out.println(username);
jedis.setex("activecode",20,"hehe");
jedis.close();
1.3.2 哈希类型 hash : map格式
- 存储数据: hset(集合名, 键名, 值)
- 根据键名获取数据: hget(集合名, 键名)
- 获取所有集合数据: hgetAll(集合名)
Jedis jedis = new Jedis();
jedis.hset("user","name","lisi");
jedis.hset("user","age","23");
jedis.hset("user","gender","female");
String name = jedis.hget("user", "name");
System.out.println(name);
Map<String, String> user = jedis.hgetAll("user");
Set<String> keySet = user.keySet();
for (String key : keySet) {
String value = user.get(key);
System.out.println(key + ":" + value);
}
jedis.close();
1.3.3 列表类型 list : linkedlist格式。支持重复元素
- 存储数据: lpush / rpush
- 取出数据: lpop / rpop
- lrange start end : 范围获取
Jedis jedis = new Jedis();
jedis.lpush("mylist","a","b","c");
jedis.rpush("mylist","a","b","c");
List<String> mylist = jedis.lrange("mylist", 0, -1);
System.out.println(mylist);
String element1 = jedis.lpop("mylist");
System.out.println(element1);
String element2 = jedis.rpop("mylist");
System.out.println(element2);
List<String> mylist2 = jedis.lrange("mylist", 0, -1);
System.out.println(mylist2);
jedis.close();
1.3.4 集合类型 set : 不允许重复元素
- sadd: 存储数据
- smembers:获取所有元素
Jedis jedis = new Jedis();
jedis.sadd("myset","java","php","c++");
Set<String> myset = jedis.smembers("myset");
System.out.println(myset);
jedis.close();
1.3.5 有序集合类型 sortedset:不允许重复元素,且元素有顺序
Jedis jedis = new Jedis();
jedis.zadd("mysortedset",3,"亚瑟");
jedis.zadd("mysortedset",30,"后裔");
jedis.zadd("mysortedset",55,"孙悟空");
Set<String> mysortedset = jedis.zrange("mysortedset", 0, -1);
System.out.println(mysortedset);
jedis.close();
二. JedisPool
1. 创建JedisPool连接池对象
2. 调用方法 getResource()方法获取Jedis连接
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(50);
config.setMaxIdle(10);
JedisPool jedisPool = new JedisPool(config,"localhost",6379);
Jedis jedis = jedisPool.getResource();
jedis.set("hehe","heihei");
jedis.close();