1、 依赖导入:
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.5.1</version>
</dependency>
2、简单使用Jedis:
Jedis jedis = new Jedis("server ip",port);
jedis.auth("redis");//验证密码,如果需要验证的话
// STRING 操作
//SET key value将字符串值value关联到key。
jedis.set("name", "wangjun1");
jedis.set("id", "123456");
jedis.set("address", "guangzhou");
//SETEX key seconds value将值value关联到key,并将key的生存时间设为seconds(以秒为单位)。
jedis.setex("foo", 5, "haha");
//MSET key value [key value ...]同时设置一个或多个key-value对。
jedis.mset("haha","111","xixi","222");
//redis.flushAll();清空所有的key
System.out.println(jedis.dbSize());//dbSize是多少个key的个数
//APPEND key value如果key已经存在并且是一个字符串,APPEND命令将value追加到key原来的值之后。
jedis.append("foo", "00");//如果key已经存在并且是一个字符串,APPEND命令将value追加到key原来的值之后。
//GET key 返回key所关联的字符串值
jedis.get("foo");
//MGET key [key ...] 返回所有(一个或多个)给定key的值
List list = jedis.mget("haha","xixi");
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
3. 利用Jedis Pool
Jedis Pool管理若干Jedis对象。
3.1 RedisUtil.java
public class RedisUtil {
private static JedisPool jedisPool;
static{
ResourceBundle bundle = ResourceBundle.getBundle("redis.properties");
if (bundle == null) {
throw new IllegalArgumentException(
"[redis.properties] is not found !");
}
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxTotal(Integer.valueOf(bundle.getString(ConfigManager.REDIS_POOL_MAX_ALIVE)));
jedisPoolConfig.setMaxIdle(Integer.valueOf(bundle.getString(ConfigManager.REDIS_POOL_MAX_ALIVE)));
jedisPoolConfig.setMaxWaitMillis(Integer.valueOf(bundle.getString(ConfigManager.REDIS_POOL_MAX_ALIVE)));
jedisPool = new JedisPool(jedisPoolConfig,bundle.getString(ConfigManager.REDIS_IP),
Integer.valueOf(bundle.getString(ConfigManager.REDIS_PORT)));
}
public static void addKeyValue(String key ,String value){
Jedis jedis = jedisPool.getResource();
try {
jedis.set(key,value);
jedisPool.returnResource(jedis);
}catch (JedisDataException e){
jedisPool.returnBrokenResource(jedis);
}
}
}
3.1 redis.properties
#最大分配的对象数
redis.pool.maxActive=1024
#最大能够保持idel状态的对象数
redis.pool.maxIdle=200
#当池内没有返回对象时,最大等待时间
redis.pool.maxWait=10000
#IP
redis.ip=172.0.0.1
#Port
redis.port=6379
3.2 ConfigManage.java
public class ConfigManager {
public static final String REDIS_POOL_MAX_ALIVE = "redis.pool.maxAlive";
public static final String REDIS_POOL_MAX_IDLE = "redis.pool.maxIdle";
public static final String REDIS_POOL_MAX_WAIT = "redis.pool.maxWait";
public static final String REDIS_IP = "redis.ip";
public static final String REDIS_PORT = "redis.port";
}