jedis连接池及简单应用(util)
来源:互联网 发布:淘宝如何打上新品标签 编辑:程序博客网 时间:2024/06/06 00:38
1.jedis mavne 坐标:
<!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version></dependency>
2.代码:
import java.util.HashMap;import java.util.List;import java.util.Map;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;/** * 这是一个jedis连接池工具类,以及一些jedis基本应用。 * @author lin * @date 2017/10/12 */public class jedisUtil { //Redis服务器IP private static String ADDR = "127.0.0.1"; //Redis的端口号 private static int PORT = 6379; //访问密码 private static String AUTH = "123456"; //可用连接实例的最大数目,默认值为8; //如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。 private static int MAX_ACTIVE = 1024; //控制一个pool最多有多少个状态为idle(空闲的)的jedis实例,默认值8。 private static int MAX_IDLE = 200; //等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时。如果超过等待时间,则直接抛出JedisConnectionException; private static int MAX_WAIT = 10000; private static int TIMEOUT = 10000; //在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的; private static boolean TEST_ON_BORROW = true; private static JedisPool jedisPool = null; /** * 初始化Redis连接池 */ static { try { JedisPoolConfig config = new JedisPoolConfig(); config.setMaxTotal(MAX_ACTIVE); config.setMaxIdle(MAX_IDLE); config.setMaxWaitMillis(MAX_WAIT); config.setTestOnBorrow(TEST_ON_BORROW); jedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT); //需要认证 // jedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT,AUTH); } catch (Exception e) { e.printStackTrace(); } } /** * 获取Jedis实例 * @return */ public synchronized static Jedis getJedis() { try { if (jedisPool != null) { Jedis resource = jedisPool.getResource(); return resource; } else { return null; } } catch (Exception e) { e.printStackTrace(); return null; } } /** * 释放jedis资源 * @param jedis */ public static void returnResource(final Jedis jedis) { if (jedis != null) { jedisPool.returnResource(jedis); jedisPool.close(); } } public static void main(String[] args) { Jedis jedis = jedisUtil.getJedis(); //jedisUtil.edisString(jedis); //jedisUtil.edisMap(jedis); //jedisUtil.edisList(jedis); //jedisUtil.edisSet(jedis); //jedisUtil.edisZset(jedis); } /** * 操作字符串 * @param jedis */ public static void edisString(Jedis jedis) { //set-get jedis.set("kk","lin"); String kk = jedis.get("kk"); System.out.println(kk); //追加 jedis.append("kk","qihong"); kk = jedis.get("kk"); System.out.println(kk); //删除 jedis.del("kk"); kk = jedis.get("kk"); System.out.println(kk); //设置多个键值对 jedis.mset("name","linqihong","age","20"); String name = jedis.get("name"); System.out.println("name:" + name); String age = jedis.get("age"); System.out.println("age:" + age); //自增1 jedis.incr("age"); age = jedis.get("age"); System.out.println("age:" + age); } /** * 操作Map * @param jedis */ public static void edisMap(Jedis jedis) { Map<String,String> map = new HashMap<String,String>(); map.put("name","linqihong"); map.put("age","23"); map.put("phone","15218612811"); //hmset - hmget jedis.hmset("user",map); List<String> maplist = jedis.hmget("user","name","age"); System.out.println(maplist); //删除map中某个键值对 jedis.hdel("user","phone"); System.out.println("phone:" + jedis.hmget("user","phone")); System.out.println(jedis.hexists("user","phone")); System.out.println(jedis.hlen("user")); System.out.println("keys:"+jedis.hkeys("user")); System.out.println("values"+jedis.hvals("user")); } /** * 操作list * @param jedis */ public static void edisList(Jedis jedis) { //lpush向集合添加元素 jedis.lpush("javaKJ", "springMVC"); jedis.lpush("javaKJ","spring"); jedis.lpush("javaKJ", "mybatis"); System.out.println(jedis.lrange("javaKJ", 0, -1)); //del //jedis.del("javaKJ"); //System.out.println(jedis.lrange("javaKJ", 0, -1)); jedis.rpush("javaKJ", "strus2"); System.out.println(jedis.lrange("javaKJ", 0, -1)); } /** * 操作set * @param jedis */ public static void edisSet(Jedis jedis) { //sadd jedis.sadd("books","java编程思想"); jedis.sadd("books", "java编程规范"); jedis.sadd("books","redis入门"); //获取集合元素 System.out.println(jedis.smembers("books")); //判断某元素是否是集合元素 System.out.println(jedis.sismember("books", "redis入门")); } /** * 操作zset * @param jedis */ public static void edisZset(Jedis jedis) { //zadd jedis.zadd("zuowei",1, "lin1"); jedis.zadd("zuowei", 2,"lin2"); jedis.zadd("zuowei", 3, "lin3"); //获取数据集 System.out.println(jedis.zrange("zuowei", 0, 4)); }}
阅读全文
0 0
- jedis连接池及简单应用(util)
- jedis连接池及redis封装(util)
- Jedis 简单应用
- Redis+Jedis简单应用
- Jedis与Jedis连接池
- Jedis Util
- Jedis 连接池
- Jedis连接池配置
- jedis连接池
- jedis连接池
- Jedis 连接池
- Jedis连接池配置
- jedis连接池配置
- 5,jedis连接池
- Jedis 连接池实例
- jedis 连接池
- Jedis连接池实例
- Jedis连接池
- adb shell dumpsys 使用汇总
- Spark内核架构
- 眼底图像处理1
- 指针数组与数组指针的区别
- JPA根据ID删除只发出select的解决方法
- jedis连接池及简单应用(util)
- spring-integration-kafka xml配置demo
- 【云栖大会】阿里成立达摩院,学习别人的经验走自己的路解决未来问题
- 万向节死锁产生的原因
- 图像预处理: 规范化
- 内核抢占PREEMPT_RT
- 欢迎使用CSDN-markdown编辑器
- Percona Monitoring and Management 部署
- javaMelody监控javaWeb程序性能和jmeter压力测试