Jedis封装redis工具

maven

<!--redis连接工具-->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>3.3.0</version>
        </dependency>
package cn.sdu.weblab.util;

import org.springframework.stereotype.Service;
import redis.clients.jedis.Jedis;

import java.io.*;

@Service
public class RedisUtil {
    private static Jedis jedis = null;
    //    @Value("${spring.redis.host}")
    private static String host = "XXXXXXXXX";
    //    @Value("${spring.redis.port}")
    private static int port = 6379;
    //    @Value("${spring.redis.username}")
    private static String username = "root";
    //    @Value("${spring.redis.password}")
    private static String password = "XXXXXXXXX";

    static {
        jedis = new Jedis(host, port);
        jedis.auth(password);
        jedis.select(1);

    }

    private static void init() {
        jedis = new Jedis(host, port);
        jedis.auth(password);
        jedis.select(1);
    }


    public static byte[] toByteArray(Object o) throws IOException {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ObjectOutputStream oos = new ObjectOutputStream(baos);
        oos.writeObject(o);
        byte[] byteArray = baos.toByteArray();
        return byteArray;

    }

    public static void setString(String key, String val) {
        init();
        jedis.set(key, val);
    }

    public static void setString(String key, String val, int second) {
        init();
        jedis.set(key, val);
        jedis.expire(key, second);
    }

    public static String getString(String key) {
        init();
        return jedis.get(key);
    }

    public static Object toObject(byte[] bytes) throws IOException, ClassNotFoundException {
        ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
        ObjectInputStream ois = new ObjectInputStream(bais);
        Object o = ois.readObject();
        return o;
    }

    public static void setObject(String key, Object o) throws IOException {
        init();
        byte[] byteArray = toByteArray(o);
        jedis.set(key.getBytes(), byteArray);
    }

    public static void setObject(String key, Object o, int second) throws IOException {
        init();
        byte[] byteArray = toByteArray(o);
        jedis.set(key.getBytes(), byteArray);
        jedis.expire(key.getBytes(), second);
    }

    public static Object getObject(String key) throws IOException, ClassNotFoundException {
        init();
        byte[] bytes = jedis.get(key.getBytes());
        if (bytes == null) {
            return null;
        }
        return toObject(bytes);
    }

    public static void delete(String key) {
        init();
        jedis.del(key);
        jedis.del(key.getBytes());
    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值