Java Redis 连接池 Jedis 工具类,java基础面试笔试题

本文介绍了如何使用JedisPool配置和管理Java与Redis的连接池,包括静态代码块初始化池配置,以及获取和归还Jedis对象的方法。同时,提到了Java基础面试和笔试中可能遇到的Redis相关问题。
摘要由CSDN通过智能技术生成


我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家。
扫描二维码或搜索下图红色VX号,加VX好友,拉你进【程序员面试学习交流群】免费领取。也欢迎各位一起在群里探讨技术。
推荐文章:Java 面试知识点解析Mysql优化技巧(数据库设计、命名规范、索引优化


 

import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class MyJedisPool { private final static Logger logger = LoggerFactory.getLogger(MyJedisPool.class); private static JedisPool readPool = null; private static JedisPool writePool = null; //静态代码初始化池配置 static { try{ Properties props = new Properties(); InputStream in = MyJedisPool.class.getResourceAsStream("/redis.properties"); props.load(in); //创建jedis池配置实例 JedisPoolConfig config = new JedisPoolConfig(); //设置池配置项值 config.setMaxTotal(Integer.valueOf(props.getProperty("jedis.pool.maxActive"))); config.setMaxIdle(Integer.valueOf(props.getProperty("jedis.pool.maxIdle"))); config.setMaxWaitMillis(Long.valueOf(props.getProperty("jedis.pool.maxWait"))); config.setTestOnBorrow(Boolean.valueOf(props.getProperty("jedis.pool.testOnBorrow"))); config.setTestOnReturn(Boolean.valueOf(props.getProperty("jedis.pool.testOnReturn"))); //根据配置实例化jedis池 readPool = new JedisPool(config, props.getProperty("redisReadURL"), Integer.valueOf(props.getProperty("redisReadPort"))); writePool = new JedisPool(config, props.getProperty("redisWriteURL"), Integer.valueOf(props.getProperty("redisWritePort"))); }catch (IOException e) { logger.info("redis连接池异常",e); } } /**获得jedis对象*/ public static Jedis getReadJedisObject(){ return readPool.getResource(); } /**获得jedis对象*/ public static Jedis getWriteJedisObject(){ return writePool.getResource(); } /**归还jedis对象*/ public static void returnJedisOjbect(Jedis jedis){ if (jedis != null) { jedis.close(); } } }

 

 

import redis.clients.jedis.Jedis;

import java.util.Set;

public class RedisUtils {

    /**

     * 获取hash表中所有key

     * @param name

     * @return

     */

    public static Set<String> getHashAllKey(String name){

        Jedis jedis = null;

        try {

            jedis = MyJedisPool.getReadJedisObject();

            return jedis.hkeys(name);

        }catch (Exception e){

            e.printStackTrace();

        }finally {

            MyJedisPool.returnJedisOjbect(jedis);

        }

        return null;

    }

    /**

     * 从redis hash表中获取

     * @param hashName

     * @param key

     * @return

     */

    public static String getHashKV(String hashName,String key){

        Jedis jedis = null;

        try {

            jedis = MyJedisPool.getReadJedisObject();

            return jedis.hget(hashName, key);

        }catch (Exception e){

            e.printStackTrace();

        }finally {

            MyJedisPool.returnJedisOjbect(jedis);

        }

        return null;

    }

    /**

     * 删除hash表的键值对

     * @param hashName

     * @param key

     */

    public static Long delHashKV(String hashName,String key){

        Jedis jedis = null;

        try {

            jedis = MyJedisPool.getWriteJedisObject();

            return jedis.hdel(hashName,key);

        }catch (Exception e){

            e.printStackTrace();

        }finally {

            MyJedisPool.returnJedisOjbect(jedis);

        }

        return null;

    }

    /**

     * 存放hash表键值对

     * @param hashName

     * @param key

     * @param value

     */

    public static Long setHashKV(String hashName,String key,String value){

        Jedis jedis = null;

        try {

            jedis = MyJedisPool.getWriteJedisObject();

            return jedis.hset(hashName,key,value);

        }catch (Exception e){

            e.printStackTrace();

        }finally {

            MyJedisPool.returnJedisOjbect(jedis);

        }

        return null;

    }

    /**

     * 删除键值对

     * @param k

     * @return

     */

    public static Long delKV(String k){

        Jedis jedis = null;

        try {

            jedis = MyJedisPool.getWriteJedisObject();

            return jedis.del(k);

        }catch (Exception e){

            e.printStackTrace();

        }finally {

            MyJedisPool.returnJedisOjbect(jedis);

        }

        return null;

    }

    /**

     * 放键值对

     * 永久

     * @param k

     * @param v

     */

    public static String setKV(String k, String v)

    {

        Jedis jedis = null;

        try {

            jedis = MyJedisPool.getWriteJedisObject();

            return jedis.set(k, v);

        }catch (Exception e){

            e.printStackTrace();

        }finally {

            MyJedisPool.returnJedisOjbect(jedis);

        }

        return null;

    }

    /**

     * 放键值对

     *

     * @param k

     * @param v

     */

    public static String setKV(String k,int second, String v)

    {

        Jedis jedis = null;

        try {

            jedis = MyJedisPool.getWriteJedisObject();

            return jedis.setex(k,second, v);

        }catch (Exception e){

            e.printStackTrace();

        }finally {

            MyJedisPool.returnJedisOjbect(jedis);

        }

        return null;

    }

    /**

     * 根据key取value

     *

     * @param k

     * @return

     */

    public static String getKV(String k)

    {

        Jedis jedis = null;

        try {

            jedis = MyJedisPool.getReadJedisObject();

            return jedis.get(k);

        }catch (Exception e){

            e.printStackTrace();

        }finally {

            MyJedisPool.returnJedisOjbect(jedis);

        }

        return null;

    }

}



import java.util.Set;

public class RedisUtils {

    /**

     * 获取hash表中所有key

     * @param name

     * @return

     */

    public static Set<String> getHashAllKey(String name){

        Jedis jedis = null;

        try {

            jedis = MyJedisPool.getReadJedisObject();

            return jedis.hkeys(name);

        }catch (Exception e){

            e.printStackTrace();

        }finally {

            MyJedisPool.returnJedisOjbect(jedis);

        }

        return null;

    }

    /**

     * 从redis hash表中获取

     * @param hashName

     * @param key

     * @return

     */

    public static String getHashKV(String hashName,String key){

        Jedis jedis = null;

        try {

            jedis = MyJedisPool.getReadJedisObject();

            return jedis.hget(hashName, key);

        }catch (Exception e){

            e.printStackTrace();

        }finally {

            MyJedisPool.returnJedisOjbect(jedis);

        }

        return null;

    }

    /**

     * 删除hash表的键值对

     * @param hashName

     * @param key

     */

    public static Long delHashKV(String hashName,String key){

        Jedis jedis = null;

        try {

            jedis = MyJedisPool.getWriteJedisObject();

            return jedis.hdel(hashName,key);

        }catch (Exception e){

            e.printStackTrace();

        }finally {

            MyJedisPool.returnJedisOjbect(jedis);

        }

        return null;

    }

    /**

     * 存放hash表键值对

     * @param hashName

     * @param key

     * @param value

     */

    public static Long setHashKV(String hashName,String key,String value){

        Jedis jedis = null;

        try {

            jedis = MyJedisPool.getWriteJedisObject();

            return jedis.hset(hashName,key,value);

        }catch (Exception e){

            e.printStackTrace();

        }finally {

            MyJedisPool.returnJedisOjbect(jedis);

        }

        return null;

    }

    /**

     * 删除键值对

     * @param k

     * @return

     */

    public static Long delKV(String k){

        Jedis jedis = null;

        try {

            jedis = MyJedisPool.getWriteJedisObject();

            return jedis.del(k);

        }catch (Exception e){

            e.printStackTrace();

        }finally {

            MyJedisPool.returnJedisOjbect(jedis);

        }

        return null;

    }

    /**

     * 放键值对

     * 永久

     * @param k

     * @param v

     */

    public static String setKV(String k, String v)

    {

        Jedis jedis = null;

        try {

            jedis = MyJedisPool.getWriteJedisObject();

            return jedis.set(k, v);

        }catch (Exception e){

            e.printStackTrace();

        }finally {

            MyJedisPool.returnJedisOjbect(jedis);

        }

        return null;

    }

    /**

     * 放键值对

     *

     * @param k

     * @param v

     */

    public static String setKV(String k,int second, String v)

    {

        Jedis jedis = null;

        try {

            jedis = MyJedisPool.getWriteJedisObject();

            return jedis.setex(k,second, v);

        }catch (Exception e){

            e.printStackTrace();

        }finally {

            MyJedisPool.returnJedisOjbect(jedis);

        }

        return null;

    }

    /**

     * 根据key取value

     *

     * @param k

     * @return

     */

    public static String getKV(String k)

    {

        Jedis jedis = null;

        try {

            jedis = MyJedisPool.getReadJedisObject();

            return jedis.get(k);

        }catch (Exception e){

            e.printStackTrace();

        }finally {

            MyJedisPool.returnJedisOjbect(jedis);

        }

        return null;

    }

}

 

 


转载:https://www.cnblogs.com/yanqin/p/8342836.html

推荐内容:
JAVA给图片添加水印
【原创】架构师必备,带你弄清混乱的JAVA日志体系!
JAVA日志的前世今生
Java数据结构和算法(十四)——堆
Java实现单链表的快速排序和归并排序
java面试常考题
聊聊Java 8 Lambda 表达式
Java序列化机制原理
Java入门篇(五)——字符串/String类
【JVM系列】一步步解析java执行内幕

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值