redisUtil

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


public class JedisUtils {
//创建连接池
private static JedisPoolConfig config;
private static JedisPool pool;

static{
config=new JedisPoolConfig();
config.setMaxTotal(30);
config.setMaxIdle(2);

//pool=new JedisPool(config, "192.168.38.71", 6379);
pool=new JedisPool(config, "127.0.0.1", 6379);
}


//获取连接的方法
public static Jedis getJedis(){
return pool.getResource();
}


//释放连接
public static void closeJedis(Jedis j){
j.close();
}
}
### RedisUtil 类使用教程 #### 1. RedisTemplate 初始化与配置 为了初始化 `RedisUtil` 工具类并使其可以正常工作,通常会注入一个已经配置好的 `RedisTemplate<String, Object>` 实例。这可以通过设置器方法完成: ```java private RedisTemplate<String, Object> redisTemplate; public void setRedisTemplate(RedisTemplate<String, Object> redisTemplate) { this.redisTemplate = redisTemplate; } ``` 这段代码展示了如何向工具类中注入 `RedisTemplate` 对象[^1]。 #### 2. RedisTemplate 功能概述 `RedisTemplate` 是由 Spring Data Redis 提供的一种高级别的 Redis 客户端实现方式。该模板不仅简化了对 Redis 数据库的操作流程,还提供了一系列易于使用的 API 接口来执行常见的数据存取命令。因此,在构建基于 Java 应用程序时,利用此类可以帮助快速搭建起高效稳定的缓存机制或者消息队列等功能模块[^2]。 #### 3. RedisUtil 中常用的方法定义 下面是一些可能存在于自定义 `RedisUtil` 类中的典型方法及其作用说明: - **字符串操作** - 设置键值对 ```java public boolean set(String key, String value){ try{ ValueOperations<String, String> operation = redisTemplate.opsForValue(); operation.set(key,value); return true; }catch (Exception e){ e.printStackTrace(); return false; } } ``` - 获取指定key对应的value ```java public String get(String key){ try{ ValueOperations<String, String> operation = redisTemplate.opsForValue(); return operation.get(key); } catch(Exception e){ e.printStackTrace(); return null; } } ``` - **哈希表(hash)操作** - 向hash表中插入field-value ```java public Boolean hset(final String key, final String hashKey, final String value) { HashOperations<String, String, String> operations = redisTemplate.opsForHash(); return operations.putIfAbsent(key, hashKey, value); } ``` - 删除hash表中的字段 ```java public Long hdelete(final String key, final Collection<Object> fields) { HashOperations<String, Object, Object> operations = redisTemplate.opsForHash(); return operations.delete(key,fields.toArray()); } ``` 以上只是部分示例函数列表;实际应用过程中还可以根据业务需求扩展更多实用的功能接口。 #### 4. Lua 脚本集成支持 对于某些复杂场景下的批量处理任务,则可以直接调用 Redis 内置的 Lua 解释器来进行高效的并发控制以及事务管理。例如删除匹配模式的所有 keys 可以编写如下所示 lua script 并通过 Jedis 或者 Lettuce 这样的底层驱动去执行: ```lua local redisKeys = redis.call('keys', KEYS[1] .. '*'); for i,k in pairs(redisKeys) do redis.call('del', k); end; return redisKeys; ``` 此段脚本实现了遍历符合条件的所有键名并将它们逐个移除的效果[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值