1
zj
2024-08-09 bd3128deee35126344bc4d14a1749409859f9c4f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
package org.example.mexcclient.util;
 
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
 
import java.util.List;
import java.util.Set;
 
public class RedisUtil {
    private static JedisPool jedisPool;
 
    static {
        jedisPool = new JedisPool(new JedisPoolConfig(), "localhost", 6379);
    }
 
    // 私有构造方法,防止实例化
    private RedisUtil() {}
 
    public static void set(String key, String value) {
        try (Jedis jedis = jedisPool.getResource()) {
            jedis.set(key, value);
        }
    }
 
    public static String get(String key) {
        try (Jedis jedis = jedisPool.getResource()) {
            return jedis.get(key);
        }
    }
 
    public static void hset(String key, String field, String value) {
        try (Jedis jedis = jedisPool.getResource()) {
            jedis.hset(key, field, value);
        }
    }
 
    public static String hget(String key, String field) {
        try (Jedis jedis = jedisPool.getResource()) {
            return jedis.hget(key, field);
        }
    }
 
    public static void lpush(String key, String... values) {
        try (Jedis jedis = jedisPool.getResource()) {
            jedis.lpush(key, values);
        }
    }
 
    public static List<String> lrange(String key, long start, long end) {
        try (Jedis jedis = jedisPool.getResource()) {
            return jedis.lrange(key, start, end);
        }
    }
 
    public static void sadd(String key, String... members) {
        try (Jedis jedis = jedisPool.getResource()) {
            jedis.sadd(key, members);
        }
    }
 
    public static Set<String> smembers(String key) {
        try (Jedis jedis = jedisPool.getResource()) {
            return jedis.smembers(key);
        }
    }
 
    public static void zadd(String key, double score, String member) {
        try (Jedis jedis = jedisPool.getResource()) {
            jedis.zadd(key, score, member);
        }
    }
 
    public static Set<String> zrange(String key, long start, long end) {
        try (Jedis jedis = jedisPool.getResource()) {
            return jedis.zrange(key, start, end);
        }
    }
 
    public static void delete(String key) {
        try (Jedis jedis = jedisPool.getResource()) {
            jedis.del(key);
        }
    }
 
    public static void disconnect() {
        jedisPool.close();
    }
 
    // 示例用法
    public static void main(String[] args) {
        // 直接使用 RedisUtil 的静态方法
        RedisUtil.set("mykey", "myvalue");
        String value = RedisUtil.get("mykey");
        System.out.println("Value for 'mykey': " + value);
 
        RedisUtil.hset("user:1", "name", "Alice");
        String userName = RedisUtil.hget("user:1", "name");
        System.out.println("Name for 'user:1': " + userName);
 
        RedisUtil.lpush("mylist", "element1", "element2", "element3");
        List<String> listValues = RedisUtil.lrange("mylist", 0, -1);
        System.out.println("Values in 'mylist': " + listValues);
 
        RedisUtil.sadd("myset", "member1", "member2", "member3");
        Set<String> setMembers = RedisUtil.smembers("myset");
        System.out.println("Members in 'myset': " + setMembers);
 
        RedisUtil.zadd("myzset", 1.0, "member1");
        RedisUtil.zadd("myzset", 2.0, "member2");
        Set<String> zsetMembers = RedisUtil.zrange("myzset", 0, -1);
        System.out.println("Members in 'myzset': " + zsetMembers);
 
        RedisUtil.delete("mykey");
        RedisUtil.delete("user:1");
        RedisUtil.delete("mylist");
        RedisUtil.delete("myset");
        RedisUtil.delete("myzset");
 
        RedisUtil.disconnect();
    }
}