package org.example.util; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import redis.clients.jedis.Protocol; import java.util.List; import java.util.Set; public class RedisUtil { private static JedisPool jedisPool; static { jedisPool = new JedisPool(new JedisPoolConfig(), "localhost", 6379, Protocol.DEFAULT_TIMEOUT, null, 0); } // 私有构造方法,防止实例化 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 Set keys(String key) { try (Jedis jedis = jedisPool.getResource()) { return jedis.keys("*"+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 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 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 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); } } // 设置 Token 的过期时间 public void setTokenExpiration(String token, int expirationInSeconds) { try (Jedis jedis = jedisPool.getResource()) { jedis.expire(token, expirationInSeconds); } } // 更新 Token 的过期时间 public void updateTokenExpiration(String token, int expirationInSeconds) { try (Jedis jedis = jedisPool.getResource()) { if (jedis.exists(token)) { jedis.expire(token, expirationInSeconds); } } } 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 listValues = RedisUtil.lrange("mylist", 0, -1); System.out.println("Values in 'mylist': " + listValues); RedisUtil.sadd("myset", "member1", "member2", "member3"); Set setMembers = RedisUtil.smembers("myset"); System.out.println("Members in 'myset': " + setMembers); RedisUtil.zadd("myzset", 1.0, "member1"); RedisUtil.zadd("myzset", 2.0, "member2"); Set 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(); } }