java redis 工具类_Java操作Redis工具类

packagejavax.utils;importjava.util.ArrayList;importjava.util.List;importredis.clients.jedis.JedisPoolConfig;importredis.clients.jedis.JedisShardInfo;importredis.clients.jedis.ShardedJedis;importredis.clients.jedis.ShardedJedisPool;/*** Redis工具类

*

*@authorLogan

*@version1.0.0*/

public classRedisUtils {private static ShardedJedisPool jedisPool = null;static{

JedisPoolConfig jedisPoolConfig= newJedisPoolConfig();//设置最大对象数

jedisPoolConfig.setMaxTotal(20);//最大能够保持空闲状态的对象数

jedisPoolConfig.setMaxIdle(10);//超时时间

jedisPoolConfig.setMaxWaitMillis(10000);//在获取连接的时候检查有效性, 默认false

jedisPoolConfig.setTestOnBorrow(true);//在返回Object时, 对返回的connection进行validateObject校验

jedisPoolConfig.setTestOnReturn(true);//如果是集群,可以全部加入list中

List shardInfos = new ArrayList();

JedisShardInfo shardInfo= new JedisShardInfo("192.168.32.10", 6379);

shardInfo.setPassword("redis123.");

shardInfos.add(shardInfo);

jedisPool= newShardedJedisPool(jedisPoolConfig, shardInfos);

}/*** 从连接池中获取一个ShardedJedis对象*/

public staticShardedJedis getJedis() {returnjedisPool.getResource();

}/*** 关闭ShardedJedis对象,放回池中*/

public static voidcloseJedis(ShardedJedis jedis) {

jedis.close();

}/*** 通过key获取String类型Value

*

*@paramkey 键

*@return值*/

public staticString get(String key) {try(

ShardedJedis jedis=jedisPool.getResource();

) {returnjedis.get(key);

}

}/*** 通过key获取字节数组类型Value

*

*@paramkey 键

*@return值*/

public static byte[] get(byte[] key) {try(

ShardedJedis jedis=jedisPool.getResource();

) {returnjedis.get(key);

}

}/*** 设置String类型key和value

*

*@paramkey 键

*@paramvalue 值

*@return

*/

public staticString set(String key, String value) {try(

ShardedJedis jedis=jedisPool.getResource();

) {returnjedis.set(key, value);

}

}/*** 设置字节数组类型key和value

*

*@paramkey 键

*@paramvalue 值

*@return

*/

public static String set(byte[] key, byte[] value) {try(

ShardedJedis jedis=jedisPool.getResource();

) {returnjedis.set(key, value);

}

}/*** 删除指定key*/

public staticLong del(String key) {try(

ShardedJedis jedis=jedisPool.getResource();

) {returnjedis.del(key);

}

}/*** 左侧放入集合

*

*@paramkey 键

*@paramvalues 值集合

*@return

*/

public staticLong lpush(String key, String... values) {try(

ShardedJedis jedis=jedisPool.getResource();

) {returnjedis.lpush(key, values);

}

}/*** 左侧弹出一个元素

*

*@paramkey 指定键

*@return左侧第一个元素*/

public staticString lpop(String key) {try(

ShardedJedis jedis=jedisPool.getResource();

) {returnjedis.lpop(key);

}

}/*** 右侧放入集合

*

*@paramkey 键

*@paramvalues 值集合

*@return

*/

public staticLong rpush(String key, String... values) {try(

ShardedJedis jedis=jedisPool.getResource();

) {returnjedis.rpush(key, values);

}

}/*** 右侧弹出一个元素

*

*@paramkey 指定键

*@return右侧第一个元素*/

public staticString rpop(String key) {try(

ShardedJedis jedis=jedisPool.getResource();

) {returnjedis.rpop(key);

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JedisUtil是一个Java Redis缓存工具类,它封装了Jedis客户端的基本操作,使得使用Redis缓存更加简单方便。 以下是JedisUtil的示例代码: ``` import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class JedisUtil { private static JedisPool jedisPool; static { JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); jedisPoolConfig.setMaxTotal(1000); jedisPoolConfig.setMaxIdle(100); jedisPool = new JedisPool(jedisPoolConfig, "localhost", 6379); } 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 del(String key) { try (Jedis jedis = jedisPool.getResource()) { jedis.del(key); } } public static void expire(String key, int seconds) { try (Jedis jedis = jedisPool.getResource()) { jedis.expire(key, seconds); } } public static boolean exists(String key) { try (Jedis jedis = jedisPool.getResource()) { return jedis.exists(key); } } } ``` 在上面的代码中,我们使用了JedisPool来管理Jedis连接,它的作用是维护一定数量的Jedis连接,以便在需要时从池中获取连接,减少了创建和关闭连接的开销。 在使用JedisUtil时,我们只需要调用set、get、del、expire和exists等方法,就可以完成对Redis缓存的操作。 例如,要将一个键值对("name", "Tom")存入Redis中,可以使用以下代码: ``` JedisUtil.set("name", "Tom"); ``` 要获取键为"name"的值,可以使用以下代码: ``` String name = JedisUtil.get("name"); ``` 同时,JedisUtil还提供了删除、设置过期时间和判断键是否存在等方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值