Redis缓存系统-Java-Jedis操作Redis,基本操作以及 实现对象保存

源代码下载:   http://download.csdn.net/detail/jiangtao_st/7623113

1、Maven配置

<dependency>
  <groupId>redis.clients</groupId>
  <artifactId>jedis</artifactId>
  <version>2.5.0</version>
</dependency>
<dependency>
  <groupId>com.alibaba</groupId>
  <artifactId>fastjson</artifactId>
  <version>1.1.41</version>
</dependency></span>

2、Properties 配置文件

redis.pool.maxActive=  100

redis.pool.maxIdle=  20

redis.pool.maxWait=  3000

redis.ip=  localhost

redis.port=  6379

3、代码具体实现的Client

/**
 *
 * <p>
 * 	Redis客户端访问
 * </p>
 *
 * @author 卓轩
 * @创建时间:2014年7月11日
 * @version: V1.0
 */
public class RedisClient {

  public  static  JedisPool jedisPool; 

  static {

    ResourceBundle resourceBundle = ResourceBundle.getBundle("redis");
    int maxActive = Integer.parseInt(resourceBundle.getString("redis.pool.maxActive"));
    int maxIdle = Integer.parseInt(resourceBundle.getString("redis.pool.maxIdle"));
    int maxWait = Integer.parseInt(resourceBundle.getString("redis.pool.maxWait"));

    String ip = resourceBundle.getString("redis.ip");
    int port = Integer.parseInt(resourceBundle.getString("redis.port"));

    JedisPoolConfig config = new JedisPoolConfig();  

    config.setMaxTotal(maxActive);

    config.setMaxIdle(maxIdle);

    config.setMaxWaitMillis(maxWait);

    jedisPool = new JedisPool(config, ip, port);
  }

  /**
   * 向缓存中设置字符串内容
   * @param key key
   * @param value value
   * @return
   * @throws Exception
   */
  public static boolean  set(String key,String value) throws Exception{
    Jedis jedis = null;
    try {
      jedis = jedisPool.getResource();
      jedis.set(key, value);
      return true;
    } catch (Exception e) {
      e.printStackTrace();
      return false;
    }finally{
      jedisPool.returnResource(jedis);
    }
  }

  /**
   * 向缓存中设置对象
   * @param key
   * @param value
   * @return
   */
  public static boolean  set(String key,Object value){
    Jedis jedis = null;
    try {
      String objectJson = JSON.toJSONString(value);
      jedis = jedisPool.getResource();
      jedis.set(key, objectJson);
      return true;
    } catch (Exception e) {
      e.printStackTrace();
      return false;
    }finally{
      jedisPool.returnResource(jedis);
    }
  }

  /**
   * 删除缓存中得对象,根据key
   * @param key
   * @return
   */
  public static boolean del(String key){
    Jedis jedis = null;
    try {
      jedis = jedisPool.getResource();
      jedis.del(key);
      return true;
    } catch (Exception e) {
      e.printStackTrace();
      return false;
    }finally{
      jedisPool.returnResource(jedis);
    }
  }

  /**
   * 根据key 获取内容
   * @param key
   * @return
   */
  public static Object get(String key){
    Jedis jedis = null;
    try {
      jedis = jedisPool.getResource();
      Object value = jedis.get(key);
      return value;
    } catch (Exception e) {
      e.printStackTrace();
      return false;
    }finally{
      jedisPool.returnResource(jedis);
    }
  }

  /**
   * 根据key 获取对象
   * @param key
   * @return
   */
  public static <T> T get(String key,Class<T> clazz){
    Jedis jedis = null;
    try {
      jedis = jedisPool.getResource();
      String value = jedis.get(key);
      return JSON.parseObject(value, clazz);
    } catch (Exception e) {
      e.printStackTrace();
      return null;
    }finally{
      jedisPool.returnResource(jedis);
    }
  }

}

4、 单元测试、保存对象、写入对象

/**
 *
 * <p>
 *  测试独立redis 客户端
 * </p>
 *
 * @author 卓轩
 * @创建时间:2014年7月11日
 * @version: V1.0
 */
public class SimpleClient {

  @Test
  public void userCache(){

    UserDO zhuoxuan = new UserDO();
    zhuoxuan.setUserId(113445);
    zhuoxuan.setSex(1);
    zhuoxuan.setUname("卓轩");
    zhuoxuan.setUnick("zhuoxuan");
    zhuoxuan.setEmail("[email protected]");

    boolean reusltCache = RedisClient.set("zhuoxuan", zhuoxuan);
    if (reusltCache) {
      System.out.println("向缓存中保存对象成功。");
    }else{
      System.out.println("向缓存中保存对象失败。");
    }
  }

  @Test
  public void getUserInfo(){

    UserDO zhuoxuan = RedisClient.get("zhuoxuan",UserDO.class);
    if(zhuoxuan != null){
      System.out.println("从缓存中获取的对象," + zhuoxuan.getUname() + "@" + zhuoxuan.getEmail());
    }

  }

}
时间: 2024-11-07 09:43:44

Redis缓存系统-Java-Jedis操作Redis,基本操作以及 实现对象保存的相关文章

Redis缓存系统(一)Java-Jedis操作Redis,基本操作以及 实现对象保存

源代码下载: http://download.csdn.net/detail/jiangtao_st/7623113 1.Maven配置 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.5.0</version> </dependency> <dependency> <

Java中Jedis操作Redis与Spring的整合

Redis是一个key-value存储系统.它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.为了保证效率,数据都是缓存在内存中.redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步.以下是

Redis介绍 &amp;&amp; Java客户端操作Redis

Redis介绍 && Java客户端操作Redis 本文内容 redis介绍 redis的 shell 客户端简介 redis的 java 客户端简介 环境配置 redis 2.8.17 64bit JDK1.6 redis介绍 大多数时候,我们都将 redis 称作是内存数据库,它在运行过程中,将键值对信息存储在内存中,同时在后台以异步的形式写入本地数据库中(默认是:dump.rdb,在 redis.conf 中配置,如果需要考虑安全的持久化需求需要开启 AOF 功能,详细介绍可以查看这

java中操作redis

1 package com.redis; 2 3 import java.io.IOException; 4 import java.util.concurrent.ConcurrentHashMap; 5 6 import redis.clients.jedis.Jedis; 7 import redis.clients.jedis.Transaction; 8 /** 9 * java中操作redis 10 * 11 * @author Administrator 12 * 13 */ 14

四、Jedis操作Redis

前言:  原来我们操作mysql需要用的jdbc,现在操作redis则需要jedis,jedis是客户端,而redis是服务器,使用jedis客户端来操作redis. 在这里要使用jedis操作redis需要引入下面两个jar包 一.Jedis简单操作 1.使用jedis 客户端,完成jedis简单操作: public class JedisTest { @Test() public void setRedis(){ Jedis connection = new Jedis("127.0.0.1

使用java代码操作redis

使用java代码操作redis 查询中使用redis逻辑 redis在增删改查中的使用 1. Java访问redis 2.1 添加依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> 2.2 Java连接redis Jedis j

使用Java代码操作 Redis

使用Java代码操作 RedisJedis简介实际开发中,我们需要用Redis的连接工具连接Redis然后操作Redis,对于主流语言,Redis都提供了对应的客户端:提供了很多客户端 官方推荐的是Jedis 托管地址:https://github.com/xetorthio/jedis 要使用redis首先得下载pom依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis<

Java中使用Jedis操作Redis

转载:http://www.cnblogs.com/liuling/p/2014-4-19-04.html 使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip 如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar,下载地址:http://files.cnblogs.com/liuling/commons-pool-1.5.4.jar.zip

使用Jedis操作redis 缓存

案例:http://blog.csdn.net/linlzk/article/details/41801391 Redis是一个开源的Key-Value数据缓存,和Memcached类似. Redis多种类型的value,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型). Jedis 是 Redis 官方首选的 Java 客户端开发包. 1 //连接redis ,redis的默认端口是6379 2 3 Jedis