1.创建池
package redis;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import util.RedisDemo2Utile;
public class RedisDemo2 {
public static void main(String[] args) {
/* //连接池Jedis POOL 基本配置信息
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(5);//最大连接数
poolConfig.setMaxIdle(1);//最大空闲数
//连接池
String host = "192.168.17.129";//Redis服务器端的ip地址
int port = 6379;//端口号
JedisPool pool = new JedisPool(poolConfig,host,port);
//获得连接
Jedis jedis = pool.getResource();//不同连接了,直接从池子中获取
jedis.auth("123456");
System.out.println(jedis.ping());*/
t1();
}
public static void t1(){
Jedis jedis = RedisDemo2Utile.getJedis();
String s = jedis.get("strName");
System.out.println(s);
}
}
也可以将上面固定连接格式封装到一个工具类里面
package util;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
//连接池工具类
public class RedisDemo2Utile {
private static JedisPool pool;
static {
//连接池Redis POOL 基本配置信息
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(5);//最大连接数
poolConfig.setMaxIdle(1);//最大空闲数
//连接池
String host = "192.168.17.129";//Redis服务器端的ip地址
int port = 6379;//端口号
pool = new JedisPool(poolConfig,host,port);
}
public static Jedis getJedis(){
Jedis jedis = pool.getResource();
jedis.auth("123456");
return jedis;
}
public static void close(Jedis jedis){
jedis.close();
}
}
2.Hash类型操作
package redis;
import bean.UserInfo;
import redis.clients.jedis.Jedis;
import util.RedisDemo2Utile;
import java.util.HashMap;
import java.util.Map;
/*
Jedis完成对Hash类型的操作
需求:hash存储一个对象
判断Redis中是否存在该key,若存在,直接返回
若不存在,查询数据库,并返回给用户
*/
public class RedisHash {
public static void main(String[] args) {
t2();
}
public static void t(){
Jedis jedis = RedisDemo2Utile.getJedis();
String key = "users";
if (jedis.exists(key)){
Map<String,String> map = jedis.hgetAll(key);
System.out.print("Redis中:");
System.out.println(map.get("id")+"\t"+map.get("name")+"\t"+map.get("age"));
}else{
//查询数据库并返回结果
jedis.hset(key,"id","1");
jedis.hset(key,"name","牛逼");
jedis.hset(key,"age","25");
jedis.hset(key,"sex","男");
System.out.println("数据库中的");
}
jedis.close();
}
public static void t2(){
Jedis jedis = RedisDemo2Utile.getJedis();
jedis.auth("123456");
String key = "userx";
if (jedis.exists(key)){
//直接从redis中获取
Map<String,String> map = jedis.hgetAll(key);
UserInfo ui = new UserInfo();
ui.setId(Integer.parseInt(map.get("id")));
ui.setName(map.get("name"));
ui.setSex(map.get("sex"));
ui.setAge(Integer.parseInt(map.get("age")));
System.out.println("Redis中的:"+ui);
}else{
//从数据库中获取
UserInfo ui = new UserInfo();
ui.setId(1);
ui.setName("666");
ui.setSex("boy");
ui.setAge(22);
//用HashMap接收 一块存入redis
HashMap<String,String> map = new HashMap<>();
map.put("id",ui.getId().toString());
map.put("name",ui.getName());
map.put("sex",ui.getSex());
map.put("age",ui.getAge().toString());
jedis.hmset(key,map);
System.out.println("数据库的:"+ui);
}
jedis.close();
}
}