Jedis 工具类
2024-09-08 04:28:03
package com.pig4cloud.pigx.admin.utils; import redis.clients.jedis.*; import java.util.ArrayList;
import java.util.List; public class RedisClient { private static Jedis jedis;//非切片额客户端连接
private static JedisPool jedisPool;//非切片连接池
private static ShardedJedis shardedJedis;//切片额客户端连接
private static ShardedJedisPool shardedJedisPool;//切片连接池
private static JedisPoolConfig config; static {
initJedisPoolConfig();
initialPool();
initialShardedPool();
shardedJedis = shardedJedisPool.getResource();
jedis = jedisPool.getResource();
} private static void initJedisPoolConfig(){
// 池基本配置
config = new JedisPoolConfig();
config.setMaxTotal(20);
config.setMaxIdle(5);
config.setMaxWaitMillis(2000l);
config.setTestOnBorrow(false);
} /**
* 初始化非切片池
*/
private static void initialPool()
{
jedisPool = new JedisPool(config,"localhost",6379);
} /**
* 初始化切片池
*/
private static void initialShardedPool()
{
// slave链接
List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();
JedisShardInfo jedisShardInfo = new JedisShardInfo("localhost", 6379, "master");
jedisShardInfo.setPassword("123456");
shards.add(jedisShardInfo);
// 构造池
shardedJedisPool = new ShardedJedisPool(config, shards);
} private static boolean lock(String lockKey){
Long flag = shardedJedisPool.getResource().setnx(lockKey, "true");
return flag==0?false:true;
} private static boolean unlock(String lockKey){
getShardedJedis().del(lockKey);
} public static ShardedJedis getShardedJedis(){
return shardedJedisPool.getResource();
} public static ShardedJedisPool getJedisPool(){
return shardedJedisPool;
}
}
最新文章
- SQL2008 无日志附加MDF文件
- stm32控制电机
- GoldenGate 12.2 支持不可见列invisible column的复制
- poj 2135 Farm Tour 最小费用最大流建图跑最短路
- 08_使用TCP/IP Monitor监视SOAP协议
- [置顶] 初识window.location.search
- 小丁带你走进git的世界三-撤销修改(转)
- POJ 2240 Arbitrage(SPFA+邻接矩阵)
- 用 config drive 配置网络 - 每天5分钟玩转 OpenStack(173)
- #022 Python 实验课
- ES6 中 Promise
- linux下xdebug的安装和配置方法
- 多目标遗传算法 ------ NSGA-II (部分源码解析) 实数、二进制编码的变异操作 mutation.c
- Redis 中 5 种数据结构的使用场景介绍
- GuavaCache学习笔记一:自定义LRU算法的缓存实现
- Linux:客户端的实现
- 随手练——小米OJ 高弗雷勋爵
- Centos下安装gcc
- JAVA对于程序的运行的一种解说
- 9.11 Django视图 view和路由