jedisPool入门demo

 Redis是一款开源的、高性能的键-值存储(key-value store)。它常被称作是一款数据结构服务器(data structure server)。Redis的键值可以包括字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)和 有序集合(sorted sets)等数据类型。 对于这些数据类型,你可以执行原子操作。例如:对字符串进行附加操作(append);递增哈希中的值;向列表中增加元素;计算集合的交集、并集与差集等。

    为了获得优异的性能,Redis采用了内存中(in-memory)数据集(dataset)的方式。根据使用场景的不同,你可以每隔一段时间将数据集转存到磁盘上来持久化数据,或者在日志尾部追加每一条操作命令。

    Redis同样支持主从复制(master-slave replication),并且具有非常快速的非阻塞首次同步(non-blocking first synchronization)、网络断开自动重连等功能。同时Redis还具有其它一些特性,其中包括简单的check-and-set机制、pub/sub和配置设置等,以便使得Redis能够表现得更像缓存(cache)。

    Redis还提供了丰富的客户端,以便支持现阶段流行的大多数编程语言。详细的支持列表可以参看Redis官方文档:http://redis.io/clients。Redis自身使用ANSI C来编写,并且能够在不产生外部依赖(external dependencies)的情况下运行在大多数POSIX系统上,例如:Linux、*BSD、OS X和Solaris等。 

jedisPooL使用步骤:

1->获取Jedis实例需要从JedisPool中获取;

2->用完Jedis实例需要还给JedisPool
3->如果Jedis在使用过程中出错,则也需要还给JedisPool

package jhm;

import redis.clients.jedis.Jedis;

import redis.clients.jedis.JedisPool;

import redis.clients.jedis.JedisPoolConfig;

/**

 * 

 * Class Description:JedisPool测试类

 *

 * Author:gaoqi  

 *

 * Date:2015年6月5日 下午2:03:08  

 *

 */

public class JedisPoolDemo {

private static JedisPool pool = null;

   

   /**

    * 测试jedis

    * @param args   

    * void

    */

   public static void main(String[] args) {

   Jedis jedis = getJedis();

       jedis.set("name", "八戒");  

       System.out.println(jedis.get("name"));  

       jedis.del("name");  

       System.out.println(jedis.exists("name"));  

       returnResource(pool,jedis); //将获取的jedis实例对象还回迟中

   }

  

   /**

    * 获取JedisPool

    * @return   

    * JedisPool

    */

   public static JedisPool getPool() {

       if (pool == null) {

           JedisPoolConfig config = new JedisPoolConfig();

           //控制一个pool最多有多少个状态为idle(空闲的)的jedis实例。

           config.setMaxIdle(5);

           //表示当borrow(引入)一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;

           config.setMaxWaitMillis(10000);

           //在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;

           config.setTestOnBorrow(true);

           pool = new JedisPool(config, "127.0.0.1", 6379);

       }

       return pool;

   }

   

  /**

   * 将jedis返回给jedisPool

   * @param pool

   * @param redis   

   * void

   */

   public static void returnResource(JedisPool pool, Jedis redis) {

       if (redis != null) {

           pool.returnResource(redis);

       }

   }

   

  /**

   * 通过key获取Jedis中的value

   * @param key

   * @return   

   * String

   */

   public static String get(String key){

       String value = null;

       

       JedisPool pool = null;

       Jedis jedis = null;

       try {

           pool = getPool();

           jedis = pool.getResource();

           value = jedis.get(key);

       } catch (Exception e) {

           //释放redis对象

           pool.returnBrokenResource(jedis);

           e.printStackTrace();

       } finally {

           //返还到连接池

           returnResource(pool, jedis);

       }

       

       return value;

   }

   /**

    * 从jedisPool中获取jedis

    * @return   

    * Jedis

    */

private static Jedis getJedis() {

JedisPool jedispool = getPool();//获得jedis实例     

   Jedis jedis =jedispool.getResource();

return jedis;

}  

}

如果直接运行上面代码肯定会报connection异常的。那我估计对于小白来说,你肯定是没有启动redis服务了。

windows如何安装并启动redis服务呢?

下载地址https://github.com/dmajkic/redis/downloads

下载到的Redis支持32bit和64bit。根据自己实际情况选择,我选择64bit。把64bit文件内容拷贝到需要安装的目录下,比如:D:\tools\redis

使用cd命令切换到指定目录(D:\tools\redis)运行 redis-server.exe redis.conf 

ok

redis服务启动完成了。。。

再次运行java代码,就能看到控制台的测试结果了。。。。。。。

猜你喜欢

转载自bigseven.iteye.com/blog/2217331
今日推荐