安装 windows版的Redis,打开即可,默认端口6379
导入两个jar包 commons-pool2-2.3.jar jedis-2.7.0.jar
一 写配置文件
redis.setMaxIdle=20
redis.setMinIdle=10
redis.setMaxTotal=50
redis.url=localhost
redis.port=6379
二 建立java redis 即 jedis连接池
package redistest; import java.io.IOException;
import java.io.InputStream;
import java.util.Properties; import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig; public class RedisConfigUtil {
private static JedisPool pool;
static{
InputStream in = RedisConfigUtil.class.getClassLoader().getResourceAsStream("redis.properties");
Properties pro=new Properties();
try {
pro.load(in);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JedisPoolConfig poolConfig=new JedisPoolConfig();
poolConfig.setMaxIdle(Integer.valueOf(pro.getProperty("redis.setMaxIdle")));
poolConfig.setMaxTotal(Integer.valueOf(pro.getProperty("redis.setMaxTotal")));
poolConfig.setMinIdle(Integer.valueOf(pro.getProperty("redis.setMinIdle")));
pool=new JedisPool(poolConfig,pro.getProperty("redis.url"), Integer.valueOf(pro.getProperty("redis.port")));
}
public static Jedis getJedis(){
return pool.getResource();
}
public static void closeJedis(Jedis je){
je.close();
pool.close();
}
}
读取配置文件的redis数据库信息
三 redis的基本操作
setget 用于字符串,可以用json的思路去存数据
map set list 方法和字符串的不同
package redistest; import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry; import org.junit.Test; import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig; public class RedisTest {
/**
*
*/
@Test
public void main2() {
/*JedisPoolConfig poolConfig=new JedisPoolConfig();
poolConfig.setMaxIdle(20);
poolConfig.setMinIdle(10);
poolConfig.setMaxTotal(50);;
JedisPool pool=new JedisPool(poolConfig, "localhost", 6379);
//Jedis jedis=new Jedis("localhost", 6379);
Jedis jedis = pool.getResource();*/
Jedis jedis = RedisConfigUtil.getJedis();
//添加数据
jedis.set("xx", "wuchao22");
//拼接字符串
jedis.append("xx", "333");
//删除数据
jedis.del("xx");
//设置多个键值对
jedis.mset("name","wuchao","age","22");
jedis.incr("age");//+1
//System.out.println(jedis.get("age")); /*
* Map操作
*/
Map<String,String> map=new HashMap<>();
map.put("name", "wu");
map.put("age", "22");
map.put("qq", "123");
//map 集合遍历
for (Map.Entry<String,String> enrty:map.entrySet()) {
//System.out.println(enrty.getValue());
}
//jedis.hmset("user", map);
jedis.hdel("user", "qq");//删除一个键值
List<String> hmget = jedis.hmget("user","name", "age","qq");
//System.out.println(hmget);
//System.out.println(jedis.hkeys("user"));//获得所有键名
//System.out.println(jedis.hvals("user"));//获得所以键值
/*Iterator<String> iter=jedis.hkeys("user").iterator();
while(iter.hasNext()){
String key=iter.next();
System.out.println(jedis.hmget("user", key));
}*/ /*
* list集合
*/
jedis.del("list");
jedis.rpush("list", "spring");
jedis.rpush("list", "struts");
jedis.rpush("list", "hibernate");
System.out.println(jedis.lrange("list",0, -1));
System.out.println(jedis.llen("list"));//获取长度 /*
* set集合
*/
jedis.del("user1");
jedis.sadd("user1", "a");
jedis.sadd("user1", "b");
jedis.sadd("user1", "c");
jedis.sadd("user1", "d");
jedis.srem("user1","d");//删除
System.out.println(jedis.smembers("user1"));
System.out.println(jedis.scard("user1"));//返回集合个数 /*
* 集合排序
*/
jedis.rpush("sort","1");
jedis.lpush("sort","6");
jedis.rpush("sort","3");
jedis.lpush("sort","7");
jedis.rpush("sort","2");
//System.out.println(jedis.lrange("sort", 0, -1));
System.out.println(jedis.sort("sort"));//排序
System.out.println(jedis.lrange("sort", 0, -1));
}
}
以上列举了些基本的操作