1. 导入jar包
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.7.2</version>
</dependency>
2. 配置redis
<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
<constructor-arg name="host" value="127.0.0.1" />
<constructor-arg name="port" value="6379" />
</bean>
<bean id="jedisClientPool" class="com.pro.huanbao.utils.jedis.JedisClientPool" />
3. redis工具类
JedisClient.java
package com.pro.huanbao.utils.jedis;
import java.util.List;
import java.util.Set;
public interface JedisClient {
String set(String key, String value);
String get(String key);
Boolean exists(String key);
Long expire(String key, int seconds);
Long ttl(String key);
Long incr(String key);
Long hset(String key, String field, String value);
String hget(String key, String field);
Long hdel(String key, String... field);
void del(String string);
/**
* list集合操作
*/
// 添加
Long lpush(String key, String value);
// 删除列表指定的值 ,第二个参数为删除的个数(有重复时),后add进去的值先被删,类似于出栈
Long lrem(String key, long count, String field);
// 删除下标区间之外的元素 (0-3)
String ltrim(String key ,long start, long end);
// 列表元素出栈
String lpop(String key);
// 修改列表中指定下标的值
String lset(String key, long index, String field);
// 数组长度
Long llen(String key);
// 查询所有元素
List<String> lrange(String key);
// 查询指定区间元素
List<String> lrangeSE(String key, long start, long end);
/**
* set集合操作
*/
// 添加元素到set集合中
Long sadd(String key , String... field);
// 查询set集合所有元素
Set<String> smembers(String key);
// 删除元素
Long srem(String key, String field);
// 判断元素是否存在集合中
Boolean sismember(String key, String field);
// 查看两个集合的交集
Set<String> sinter(String key, String key2);
// 查看两个集合的并集
Set<String> sunion(String key, String key2);
// 查看两个集合的差集
Set<String> sdiff(String key, String key2);
/**
* zset
*/
// 插入
void zadd( String key, double score, String member);
// 增加,score:增加的个数
void zincr( String key, double score, String member);
// 查询元素的下标
Double zscore( String key, String member);
// 区下标区间的值,默认排序,end=-1表示查询所有
Set<String> zrange( String key, long start, long end);
// 区下标区间的值,分数倒序,end=-1表示查询所有
Set<String> zrevrange(String key, long start, long end);
}
JedisClientPool.java
package com.pro.huanbao.utils.jedis;
import java.util.List;
import java.util.Set;
import org.springframework.beans.factory.annotation.Autowired;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
public class JedisClientPool implements JedisClient {
@Autowired
private JedisPool jedisPool;
@Override
public String set(String key, String value) {
Jedis jedis = jedisPool.getResource();
String result = jedis.set(key, value);
jedis.close();
return result;
}
@Override
public String get(String key) {
Jedis jedis = jedisPool.getResource();
String result = jedis.get(key);
jedis.close();
return result;
}
@Override
public Boolean exists(String key) {
Jedis jedis = jedisPool.getResource();
Boolean result = jedis.exists(key);
jedis.close();
return result;
}
@Override
public Long expire(String key, int seconds) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.expire(key, seconds);
jedis.close();
return result;
}
@Override
public Long ttl(String key) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.ttl(key);
jedis.close();
return result;
}
@Override
public Long incr(String key) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.incr(key);
jedis.close();
return result;
}
@Override
public Long hset(String key, String field, String value) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.hset(key, field, value);
jedis.close();
return result;
}
@Override
public String hget(String key, String field) {
Jedis jedis = jedisPool.getResource();
String result = jedis.hget(key, field);
jedis.close();
return result;
}
@Override
public Long hdel(String key, String... field) {
Jedis jedis = jedisPool.getResource();
Long result = jedis.hdel(key, field);
jedis.close();
return result;
}
@Override
public Long sadd(String key, String... field) {
Jedis jedis = jedisPool.getResource();
Long sadd = jedis.sadd(key, field);
jedis.close();
return sadd;
}
@Override
public Set<String> smembers(String key) {
Jedis jedis = jedisPool.getResource();
Set<String> smembers = jedis.smembers(key);
jedis.close();
return smembers;
}
@Override
public Long srem(String key, String field) {
Jedis jedis = jedisPool.getResource();
Long srem = jedis.srem(key, field);
jedis.close();
return srem;
}
@Override
public Boolean sismember(String key ,String field) {
Jedis jedis = jedisPool.getResource();
Boolean sismember = jedis.sismember(key, field);
jedis.close();
return sismember;
}
@Override
public Set<String> sinter(String key, String key2) {
Jedis jedis = jedisPool.getResource();
Set<String> sinter = jedis.sinter(key, key2);
jedis.close();
return sinter;
}
@Override
public Set<String> sunion(String key, String key2) {
Jedis jedis = jedisPool.getResource();
Set<String> sunion = jedis.sunion(key, key2);
jedis.close();
return sunion;
}
@Override
public Set<String> sdiff(String key, String key2) {
Jedis jedis = jedisPool.getResource();
Set<String> sdiff = jedis.sdiff(key, key2);
jedis.close();
return sdiff;
}
@Override
public Long lpush(String key, String value) {
Jedis jedis = jedisPool.getResource();
Long lpush = jedis.lpush(key, value);
jedis.close();
return lpush;
}
@Override
public Long lrem(String key, long count, String field) {
Jedis jedis = jedisPool.getResource();
Long lrem = jedis.lrem(key, count, field);
jedis.close();
return lrem;
}
@Override
public String ltrim(String key, long start, long end) {
Jedis jedis = jedisPool.getResource();
String ltrim = jedis.ltrim(key, start, end);
jedis.close();
return ltrim;
}
@Override
public String lpop(String key) {
Jedis jedis = jedisPool.getResource();
String lpop = jedis.lpop(key);
jedis.close();
return lpop;
}
@Override
public String lset(String key, long index, String field) {
Jedis jedis = jedisPool.getResource();
String lset = jedis.lset(key, index, field);
jedis.close();
return lset;
}
@Override
public Long llen(String key) {
Jedis jedis = jedisPool.getResource();
Long llen = jedis.llen(key);
jedis.close();
return llen;
}
@Override
public List<String> lrange(String key) {
Jedis jedis = jedisPool.getResource();
List<String> lrange = jedis.lrange(key, 0, -1);
jedis.close();
return lrange;
}
@Override
public List<String> lrangeSE(String key, long start, long end) {
Jedis jedis = jedisPool.getResource();
List<String> lrange = jedis.lrange(key, start, end);
jedis.close();
return null;
}
@Override
public void del(String key) {
Jedis jedis = jedisPool.getResource();
jedis.del(key);
jedis.close();
}
@Override
public void zadd(String key, double score, String member) {
Jedis jedis = jedisPool.getResource();
jedis.zadd(key, score, member);
jedis.close();
}
@Override
public void zincr(String key, double score, String member) {
Jedis jedis = jedisPool.getResource();
jedis.zincrby(key, score, member);
jedis.close();
}
@Override
public Double zscore(String key, String member) {
Jedis jedis = jedisPool.getResource();
Double zscore = jedis.zscore(key, member);
jedis.close();
return zscore;
}
@Override
public Set<String> zrange(String key, long start, long end) {
Jedis jedis = jedisPool.getResource();
Set<String> zrange = jedis.zrange(key, start, end);
jedis.close();
return zrange;
}
@Override
public Set<String> zrevrange(String key, long start, long end) {
Jedis jedis = jedisPool.getResource();
Set<String> zrevrange = jedis.zrevrange(key, start, end);
jedis.close();
return zrevrange;
}
}
4. 使用
注入JedisClient调用接口即可
@Autowired
private JedisClient jedisClient;
END