jedis工具类

描述

jedis是redis客户端java实现。jedis不支持多线程操作,是非线程安全的,一般使用jedisPool线程安全的jedis池。

代码

package com.redoor.guava;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

import java.util.function.Function;

public class RedisCli {


    private static final String host = "127.0.0.1";
    private static final String port = "6379";
    private static final JedisPool jedisPool;


    static {
        jedisPool = new JedisPool(host, Integer.parseInt(port));
    }

    public static String get(String key) {
        Jedis jedis = null;
        String result = null;

        try {
            jedis = jedisPool.getResource();
            result = jedis.get(key);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (jedis != null) {
                jedis.close();
            }
        }

        return result;
    }

    public static String set(String key, String value) {
        Jedis jedis = null;
        String result = null;
        try {
            jedis = jedisPool.getResource();
            result = jedis.set(key, value);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            jedis.close();
        }
        return result;
    }

    public static <R> R command(Function<Jedis, R> function) {

        Jedis jedis = null;
        R r = null;
        try {
            jedis = jedisPool.getResource();
            r = function.apply(jedis);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (jedis != null) {
                jedis.close();
            }
        }
        return r;
    }

    public static Jedis getJedis() {
        return jedisPool.getResource();
    }

    public static void returnJedis(Jedis jedis) {
        if (jedis != null) {
            jedis.close();
        }
    }
}

引用

https://blog.csdn.net/a67474506/article/details/40660031
https://www.jianshu.com/p/5e4a1f92c88f
https://cloud.tencent.com/developer/article/1011951
https://www.iteye.com/blog/moon-walker-2397962
https://www.programcreek.com/java-api-examples/?api=redis.clients.jedis.Pipeline
https://www.infoq.cn/article/K7dB5AFKI9mr5Ugbs_px

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述 Jedis是Redis官方推荐的Java连接开发工具。要在Java开发中使用好Redis中间件,必须对Jed...
    fteng1024阅读 3,434评论 1 11
  • 包含的重点内容:JAVA基础JVM 知识开源框架知识操作系统多线程TCP 与 HTTP架构设计与分布式算法数据库知...
    消失er阅读 4,378评论 1 10
  • 对于日常开发,Redis由于单线程的并发模型、丰富的数据结构和简单的API,深受广大程序员的喜爱。Redis提供了...
    一只小哈阅读 9,099评论 10 26
  • TCP 与 HTTP http1.0 和 http1.1 有什么区别。 HTTP 1.0主要有以下几点变化: 请求...
    冷枫abc阅读 498评论 0 0
  • Java客户端Jedis Java有很多优秀的Redis客户端(详见:http://redis.io/client...
    linuxzw阅读 1,544评论 1 5