`

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代码,就能看到控制台的测试结果了。。。。。。。

 

分享到:
评论

相关推荐

    完整的android 安卓入门demo

    【Android 安卓入门Demo详解】 Android 是一种广泛使用的开源操作系统,主要应用于移动设备,如智能手机和平板电脑。本入门Demo提供了全面的学习资源,涵盖了Android开发中的基础元素和关键概念,帮助初学者快速...

    Jedis测试Demo

    JedisPool jedisPool = new JedisPool(poolConfig, "localhost", 6379); Jedis jedis = jedisPool.getResource(); // 使用后释放连接 jedis.close(); ``` 7. **JedisTest**:这个压缩包中的文件“JedisTest”...

    SpringBoot基础入门demo

    **SpringBoot基础入门** SpringBoot是由Pivotal团队提供的全新框架,其设计目标...通过这个“SpringBoot基础入门demo”,你可以深入了解和实践SpringBoot的核心特性,为后续的深入学习和实际项目开发打下坚实的基础。

    Jedis 操作Redis 集群demo

    在压缩包"redis-Demo-3.4.9"中,可能包含了演示如何使用Jedis操作Redis集群的具体示例代码,包括上述的各种操作。通过阅读和运行这些代码,你可以更深入地了解Jedis在集群环境下的使用方式。 总之,Jedis为Java...

    Android 入门demo源码

    【Android入门Demo源码详解】 Android作为全球最受欢迎的移动操作系统之一,是许多开发者入门编程的首选平台。这个“Android入门demo源码”是专为初学者设计的学习资源,旨在通过实际操作来帮助理解Android开发的...

    SpringBoot集成MyBatis-Plus快速入门Demo

    编译器版本:IntelliJ IDEA 2020.3.2 x64 JDK版本:java 1.8.0_111 SpringBoot集成MyBatis-Plus快速入门Demo,包括CRUD操作、多条件查询、性能分析等代码实现。

    一个简单的区块链入门demo

    一个简单的区块链入门demo

    Jedis2.8Demo文件-从数据类型到订阅部分

    JedisPool jedisPool = new JedisPool(poolConfig, "localhost", 6379); ``` 接下来,我们将探讨Redis的五大数据类型:字符串(Strings)、哈希(Hashes)、列表(Lists)、集合(Sets)和有序集合(Sorted Sets)...

    llama.cpp C++ api开发入门demo

    llama.cpp C++ api开发入门demo。加载llama模型,生成回答语句

    Python入门Demo-WordCount

    【Python入门Demo-WordCount】是一个适合初学者的Python编程示例,主要目的是介绍如何使用Python进行基础的数据处理,特别是文本分析中的词频统计。在这个Demo中,我们将学习到Python语言的一些基本语法、文件操作、...

    Javaweb入门级别demo

    JavaWeb入门级别的DEMO主要涉及的是Java开发中的Web应用程序构建,使用了SSM(Spring、SpringMVC、MyBatis)三大主流框架。这个DEMO旨在为初学者提供一个简单的学习平台,帮助他们快速理解并掌握JavaWeb开发的基础...

    jedis调用redis源码Demo

    jedis调用redis源码Demo,直接导入工程就可以运行。 redis目录下有redis安装文件和入门电子书 redis64-2.8.9.zip redisbin_x32.zip Redis入门指南(JB51.NET).pdf Redis设计与实现.pdf src: FirestJedisTest.java ...

    SpringBoot集成JWT快速入门Demo

    编译器版本:IntelliJ IDEA 2020.3.2 x64 JDK版本:java 1.8.0_111 SpringBoot集成JWT快速入门Demo,演示jwt生成与验证等功能,可以通过swaggler或者Postman进行测试。

    java 微信公众号开发入门 DEMO 可直接跑起来的

    java 微信公众号开发入门 DEMO 可直接跑起来的 大家可以直接下载,然后练习一下。java 微信公众号开发入门 DEMO 可直接跑起来的 大家可以直接下载,然后练习一下。

    jstorm storm入门demo

    "jstorm storm入门demo" 这个标题表明了这是一个关于JStorm和Storm框架的基础教学示例。JStorm是阿里巴巴开源的一个分布式实时计算系统,它基于Apache Storm,但提供了更稳定、高性能以及易用的特性。这个demo可能是...

    GreenDao傻瓜入门demo

    **GreenDao傻瓜入门demo** 是一个专门为初学者设计的示例项目,旨在帮助开发者快速理解和使用GreenDao这个流行的Android数据库框架。GreenDao是一个高效、轻量级的对象关系映射(ORM)工具,它允许开发者以Java对象...

    Android入门小Demo

    【Android入门小Demo】是一个适合初学者的项目,旨在教授Android应用开发的基础知识。这个小Demo专注于实现一个简单的判断题目功能,用户可以在此应用中回答是或否的问题,系统会根据用户选择判断答案的正误。这个...

    Bootstrap与EasyUI入门Demo

    Bootstrap与EasyUI入门Demo 很适合新手做测试 Bootstrap与EasyUI入门Demo 很适合新手做测试

    Mac OSX项目入门demo

    "Mac OSX项目入门demo"是一个很好的起点,它涵盖了基本的界面构建和交互元素,如tableView和按钮的使用。以下是对这些关键知识点的详细解释: 1. **Mac OS X开发环境**:首先,你需要安装Xcode,这是Apple官方提供...

    WebSocket 的入门Demo

    WebSocket 的入门Demo!

Global site tag (gtag.js) - Google Analytics