package com.wodexiangce.util;

 import java.util.Set;

 import redis.clients.jedis.Jedis;
 /**
  * redis工具类
  * @author wangbo
  *
  */
 public class RedisUtil {
     private static Jedis jedis; 

     /**
      * 根据classid获取对应的产品信息
      * @param classid
      * @return
      */
     public static String getRedisValue(String classid){
         jedis = JedisPoolUtils.getJedis();
         String value = jedis.get(classid);
         JedisPoolUtils.returnRes(jedis);
         return value;

     }
     /**
      * 将数据保存到redis
      * @param key
      * @param value
      */
     public static void setRedisValue(String key,String value){
         jedis = JedisPoolUtils.getJedis();
         jedis.set(key, value);
         JedisPoolUtils.returnRes(jedis);
     }
     /**
      * 获取所有的key
      * @return
      */
     public static Set<String> getAllKeys(){
         jedis = JedisPoolUtils.getJedis();
         Set<String> set = jedis.keys("*");
         JedisPoolUtils.returnRes(jedis);
         return set;
     }
     /**
      * 删除指定的key
      * @param key
      */
     public static void delKey(String key){
         jedis = JedisPoolUtils.getJedis();
         jedis.del(key);
         JedisPoolUtils.returnRes(jedis);
     }
     /**
      * 清空redis数据库
      */
     public static void flushdb(){
         jedis = JedisPoolUtils.getJedis();
         jedis.flushAll();
         //jedis.flushDB();
         JedisPoolUtils.returnRes(jedis);
     }

 }
 package com.wodexiangce.util;

 import redis.clients.jedis.Jedis;
 import redis.clients.jedis.JedisPool;
 import redis.clients.jedis.JedisPoolConfig;
 /**
  * redis连接池
  * @author wangbo
  *
  */
 public class JedisPoolUtils {

     private static JedisPool pool;

     /**
      * 建立连接池真实环境,一般把配置参数缺抽取出来。
      *
      */
     private static void createJedisPool() {

         // 建立连接池配置参数
         JedisPoolConfig config = new JedisPoolConfig();

         // 设置最大连接数
         config.setMaxActive(200);

         // 设置最大阻塞时间,毫秒数
         config.setMaxWait(300);

         // 设置空间连接
         config.setMaxIdle(50);
         config.setMinIdle(10);

         // 创建连接池
         pool = new JedisPool(config, "192.168.111.211", 6379, 30000, "password");
     }

     /**
      * 在多线程环境同步初始化
      */
     private static synchronized void poolInit() {
         if (pool == null)
             createJedisPool();
     }

     /**
      * 获取一个jedis 对象
      *
      * @return
      */
     public static Jedis getJedis() {

         if (pool == null)
             poolInit();
         return pool.getResource();
     }

     /**
      * 归还一个连接
      *
      * @param jedis
      */
     public static void returnRes(Jedis jedis) {
         pool.returnResource(jedis);
     }

 }

Java通过jedis操作redis缓存的更多相关文章

  1. Redis入门和Java利用jedis操作redis

    Redis入门和Java利用jedis操作redis Redis介绍 Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库. Redis 与其他 key - val ...

  2. Java中Jedis操作Redis与Spring的整合

    Redis是一个key-value存储系统.它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合).这些数据类型都支持push/pop. ...

  3. 使用Jedis操作redis 缓存

    案例:http://blog.csdn.net/linlzk/article/details/41801391 Redis是一个开源的Key-Value数据缓存,和Memcached类似. Redis ...

  4. Java使用Jedis操作Redis大全

    Java操作Redis需要导入两个jar: commons-pool2-2.4.2.jar jedis-2.1.0.jar package com.chinasofti.test; import ja ...

  5. Java通过jedis操作redis(增删改查)

    package sgh.main.powersite; import java.util.ArrayList; import java.util.HashMap; import java.util.I ...

  6. java客户端Jedis操作Redis Sentinel 连接池

    pom配置: <dependency> <groupId>org.springframework.data</groupId> <artifactId> ...

  7. jedis操作redis的几种常见方式总结

    Redis是一个著名的key-value存储系统,也是nosql中的最常见的一种,这篇文章主要给大家总结了关于在java中jedis操作redis的几种常见方式,文中给出了详细的示例代码供大家参考学习 ...

  8. JAVA中通过Jedis操作Redis连接与插入简单库

    一.简述 JAVA中通过Jedis操作Redis连接与插入简单库 二.依赖 <!-- https://mvnrepository.com/artifact/redis.clients/jedis ...

  9. Java Spring mvc 操作 Redis 及 Redis 集群

    本文原创,转载请注明:http://www.cnblogs.com/fengzheng/p/5941953.html 关于 Redis 集群搭建可以参考我的另一篇文章 Redis集群搭建与简单使用 R ...

随机推荐

  1. Swift声明参考

    一条声明可以在你的程序里引入新的名字和构造.举例来说,你可以使用声明来引入函数和方法,变量和常量,或者来定义 新的命名好的枚举,结构,类和协议类型.你也可以使用一条声明来延长一个已经存在的命名好的类型 ...

  2. CocoaPods 学习

    参考文章 git address 1.简绍:CocoaPods是一个负责管理iOS项目中第三方开源代码的工具. 2.安装过程: $ sudo gem install cocoapods $ pod s ...

  3. 转:EntityFramework查询--联合查询(Join,GroupJoin)

    首先我们先看一下Join public static IEnumerable<TResult> Join<TOuter, TInner, TKey, TResult>(this ...

  4. NSMutableAttributedString 富文本的使用

    //富文本的使用 UILabel *testLabel = [[UILabel alloc]initWithFrame:CGRectMake(, , , )]; testLabel.backgroun ...

  5. 基于docker+etcd+confd + haproxy构建高可用、自发现的web服务

    基于docker+etcd+confd + haproxy构建高可用.自发现的web服务 2016-05-16 15:12 595人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主 ...

  6. mysql中int、bigint、smallint 和 tinyint的区别

    使用整数数据的精确数字数据类型. bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储 ...

  7. ReentrantLock的实现语义与使用场景

    简介 ReentrantLock(重入锁)就是支持可重进入的锁,它表示该锁能支持一个线程对资源的重复加锁.另外还支持获取锁的公平和非公平选择ReentrantLock的实现不仅可以替代隐式的synch ...

  8. 响应式布局2--MATE

    随着高端手机(Andriod,Iphone,Ipod,WinPhone等)的盛行,移动互联应用开发也越来越受到人们的重视,用html5开发移动应用是最好的选择.然而,每一款手机有不同的分辨率,不同屏幕 ...

  9. ucos 学习

    1.UCOSII 早期版本只支持 64 个任务,但是从 2.80 版本开始,支持任务数提高到 255 个,不过对我们来说一般 64 个任务都是足够多了,一般很难用到这么多个任务. UCOSII 保留了 ...

  10. scrum3.0

    3.0----------------------------------------------------- SCRUM 流程的步骤2: Spring 计划 1. 确保product backlo ...