先给出配置,由于版本不同jedis的api不同,这里比较坑人,常常发生错误无从下手,如果是maven项目还好查看源码,如果是web项目那么就很麻烦,
redis.clients
jedis
2.0.0
org.springframework.data
spring-data-redis
1.0.0.RELEASE
整个目录结构,
然后给出本人利用spring-data-redis封装的redis操作工具,原理就是对象转byte[],然后利用spring-data-redis进行存储,所以save形式为key(String->byte[])-value(Object->byte[]),get形式为key(byte[]->String)-value(byte[]->Object)
package com.zhxjz.framework.util.redis;
import java.io.Serializable;
import org.springframework.dao.DataAccessException;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import com.zhxjz.framework.util.ApplicationContextUtil;
import com.zhxjz.framework.util.common.SerializeUtil;
public class SpringRedisUtil {
@SuppressWarnings("unchecked")
private static RedisTemplate redisTemplate =
(RedisTemplate) ApplicationContextUtil
.getBean("redisTemplate");
public static void save(final String key, Object value) {
final byte[] vbytes = SerializeUtil.serialize(value);
redisTemplate.execute(new RedisCallback() {
@Override
public Object doInRedis(Re