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. P1074 靶形数独 - 40

    #include <bits/stdc++.h> #define searchnext(x, y) y == 9 ? search(x + 1, 1) : search(x, y + 1) ...

  2. iOS 两个App之间调起通信

    前言 假设需求是这样的:由一个app1跳转到app2之后,app2完成某项任务之后,怎么把app2的完成信息传到app1(自己的程序是app1),传的是什么类型的数据,怎么进行解析? 逻辑 本文章使用 ...

  3. [转]java动态代理(JDK和cglib)

    转自:http://www.cnblogs.com/jqyp/archive/2010/08/20/1805041.html java动态代理(JDK和cglib) JAVA的动态代理 代理模式 代理 ...

  4. 大商创 sql追踪 卖家入驻

    ' ' ' ', '', '', '') ' Query ' Query ' Query ' Query ' Query ' Query ' Query ' Query ' Query ' Query ...

  5. Java中的集合框架

    概念与作用 集合概念 现实生活中:很多事物凑在一起 数学中的集合:具有共同属性的事物的总体 java中的集合类:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象 在编程时,常常需要集中存放多 ...

  6. kafka 生产者java编码

    public class KafkaProducerDemo { public static void main(String[] args) throws InterruptedException ...

  7. react-native 计算时间差

    //计算时间var sendTime = this.props.obj.send_time; console.log(sendTime); //当前时间var nowTime = (new Date( ...

  8. 执行robot framework 的测试用例 命令行pybot使用方式

    1.执行整个项目下的所有用例: pybot 项目路径.例如: pybot D:\robot 2.执行某个suit中的所有用例: pybot 项目路径\suit文件名称. 例如:pybot D:\rob ...

  9. [Ahoi2013]差异

    后缀数组+单调栈 代码 #include<cstdio> #include<algorithm> #include<cstring> using namespace ...

  10. windows系统调用 临界区机制

    #include "iostream" #include "windows.h" #include "cstring" using name ...