好记忆不如烂笔头,平时用到的东西,还是要留下点东西做好笔记的、
redis 的使用我就不多说了,现在这个玩意用的人也是蛮多蛮多的、我就通过看了 API ,总结了下一下几个方法可以供参考,
官网:http://www.redis.cn
常用命令:http://blog.csdn.net/yczz/article/details/7656910
前提是 redis 的配置都OK,不多说了,直接上代码吧:
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.nonobank.app.utils.StringUtils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
/**
* redis工具类
*
*/
@Component("redisUtil")
public class RedisUtil {
@Autowired
private JedisPool redisPool;
public Jedis getJedis() {
return redisPool.getResource();
}
public String set(String key, String value) {
Jedis jedis = getJedis();
try {
return jedis.set(key, value);
}
finally {
jedis.close();
}
}
/**
*
* @param key
* @param value
* @param expire
* seconds(int)
* @return
*/
public String set(String key, String value, int expireTime) {
Jedis jedis = getJedis();
try {
return jedis.setex(key, expireTime, value);
}
finally {
jedis.close();
}
}
public String get(String key) {
Jedis jedis = getJedis();
try {
return jedis.get(key);
}
finally {
jedis.close();
}
}
public Long del(final String...keys) {
Jedis jedis = getJedis();
try {
return jedis.del(keys);
}
finally {
jedis.close();
}
}
public Long del(String key) {
Jedis jedis = getJedis();
try {
return jedis.del(key);
}
finally {
jedis.close();
}
}
/**
* 失效时间-秒
*
* @param key
* @param map
* @param expireTime
*/
public boolean setMap(Stringkey, Map<String, String>map, int expireTime) {
Jedis jedis = getJedis();
try {
String result = jedis.hmset(key, map);
if (StringUtils.isNotEmpty(result) &&result.equalsIgnoreCase("OK")) {
jedis.expire(key,expireTime);
return true;
}
else {
return false;
}
}
finally {
jedis.close();
}
}
/**
* 获得结果 set
*
* @param key
*/
public String getMapKey(String key, String field) {
Jedis jedis = getJedis();
try {
String result = jedis.hget(key, field);
if (StringUtils.isNotEmpty(result) &&result.equalsIgnoreCase("nil")) {
return null;
}
else {
return result;
}
}
finally {
jedis.close();
}
}
/**
* 获得结果 list
*
* @param key
*/
public List<String> getMapVal(String key, String field) {
Jedis jedis = getJedis();
try {
return jedis.hmget(key, field);
}
finally {
jedis.close();
}
}
/**
* 获得结果 set
*
* @param key
*/
public Set<String> getMapKeys(String key) {
Jedis jedis = getJedis();
try {
return jedis.hkeys(key);
}
finally {
jedis.close();
}
}
/**
* 获得结果 list
*
* @param key
*/
public List<String> getMapVals(String key) {
Jedis jedis = getJedis();
try {
return jedis.hvals(key);
}
finally {
jedis.close();
}
}
/**
* 失效时间:一个小时
*
* @param key
* @param list
*/
public void setPushList(Stringkey, List<String>list, int expireTime) {
Jedis jedis = getJedis();
try {
for (String str : list) {
jedis.lpush(key,str);
}
jedis.expire(key,expireTime);
}
finally {
jedis.close();
}
}
/**
* 失效时间-秒
*
* @param key
* @param list
* @param expireTime
*/
public long setArrayList(Stringkey, String[]arrays,int expireTime) {
Jedis jedis = getJedis();
try {
long rows =jedis.sadd(key,arrays);
if (rows == 1 ||rows == 0) {
jedis.expire(key,expireTime);
}
return rows;
}
finally {
jedis.close();
}
}
/**
* 获取整个列表值
*
* @param key
*/
public List<String> getList(String key) {
Jedis jedis = getJedis();
try {
return jedis.lrange(key, 0, -1);
}
finally {
jedis.close();
}
}
}
redis API中还有很多的方法,这就不一一列举了、用到的时候,再去好好研究一下吧。。。