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;
}
}

  

最新文章

  1. SQL2008 无日志附加MDF文件
  2. stm32控制电机
  3. GoldenGate 12.2 支持不可见列invisible column的复制
  4. poj 2135 Farm Tour 最小费用最大流建图跑最短路
  5. 08_使用TCP/IP Monitor监视SOAP协议
  6. [置顶] 初识window.location.search
  7. 小丁带你走进git的世界三-撤销修改(转)
  8. POJ 2240 Arbitrage(SPFA+邻接矩阵)
  9. 用 config drive 配置网络 - 每天5分钟玩转 OpenStack(173)
  10. #022 Python 实验课
  11. ES6 中 Promise
  12. linux下xdebug的安装和配置方法
  13. 多目标遗传算法 ------ NSGA-II (部分源码解析) 实数、二进制编码的变异操作 mutation.c
  14. Redis 中 5 种数据结构的使用场景介绍
  15. GuavaCache学习笔记一:自定义LRU算法的缓存实现
  16. Linux:客户端的实现
  17. 随手练——小米OJ 高弗雷勋爵
  18. Centos下安装gcc
  19. JAVA对于程序的运行的一种解说
  20. 9.11 Django视图 view和路由

热门文章

  1. IOCP编程之基本原理
  2. zabbix自定义item(v3.4)
  3. [LOJ6041雅礼集训2017]事情的相似度
  4. BZOJ4974(给Next求最小字典序原串)
  5. JSP文件过大无法编译
  6. 利用lsof去查看Unix/Linux进程打开了哪些文件
  7. 用IARIdePm新建STM8工程步骤
  8. 【转】几种Java序列化方式的实现
  9. 网页尺寸scrollHeight/offsetHeight
  10. web前端工程师入门须知