jedis2.9.0连接redis
来源:互联网 发布:outlook邮件导入mac 编辑:程序博客网 时间:2024/06/05 08:30
jedis2.9.0连接redis
首先项目引入jedis-2.9.0.jar+commons-pool2-2.0.jar
其他的直接看代码:
import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;public class RedisUtil { private static JedisPool jedisPool = null; // Redis服务器IP private static String ADDR = "192.168.201.100"; // Redis的端口号 private static int PORT = 6379; // 访问密码 private static String AUTH = "123456"; /** * 初始化Redis连接池 */ static { try { JedisPoolConfig config = new JedisPoolConfig(); // 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true config.setBlockWhenExhausted(true); // 设置的逐出策略类名, 默认DefaultEvictionPolicy(当连接超过最大空闲时间,或连接数超过最大空闲连接数) config.setEvictionPolicyClassName("org.apache.commons.pool2.impl.DefaultEvictionPolicy"); // 是否启用pool的jmx管理功能, 默认true config.setJmxEnabled(true); // 最大空闲连接数, 默认8个 控制一个pool最多有多少个状态为idle(空闲的)的jedis实例。 config.setMaxIdle(8); // 最大连接数, 默认8个 config.setMaxTotal(200); // 表示当borrow(引入)一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException; config.setMaxWaitMillis(1000 * 100); // 在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的; config.setTestOnBorrow(true); jedisPool = new JedisPool(config, ADDR, PORT, 3000, 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 close(final Jedis jedis) { if (jedis != null) { jedis.close(); } } public static void main(String[] args) { Jedis jedis = RedisUtil.getJedis();// RedisUtil.testString(jedis); RedisUtil.testMap(jedis);// RedisUtil.testList(jedis);// RedisUtil.testSet(jedis); RedisUtil.close(jedis); } /** * 字符串测试 * * @param jedis */ public static void testString(Jedis jedis) { jedis.set("name", "xxxx");// 向key-->name中放入了value-->xinxin System.out.println(jedis.get("name"));// 执行结果:xinxin jedis.append("name", " is my lover"); // 拼接 System.out.println(jedis.get("name")); jedis.del("name"); // 删除某个键 System.out.println(jedis.get("name")); // 设置多个键值对 jedis.mset("name", "某某某", "age", "24", "qq", "476777XXX"); jedis.incr("age"); // 进行加1操作 System.out.println(jedis.get("name") + "-" + jedis.get("age") + "-" + jedis.get("qq")); } /** * map 用法 * * @param jedis */ public static void testMap(Jedis jedis) { // -----添加数据---------- Map<String, String> map = new HashMap<String, String>(); map.put("name", "xinxin"); map.put("age", "22"); map.put("qq", "123456"); jedis.hmset("user", map); // 取出user中的name,执行结果:[minxr]-->注意结果是一个泛型的List // 第一个参数是存入redis中map对象的key,后面跟的是放入map中的对象的key,后面的key可以跟多个,是可变参数 List<String> rsmap = jedis.hmget("user", "name", "age", "qq"); System.out.println(rsmap); // 删除map中的某个键值 jedis.hdel("user", "age"); System.out.println(jedis.hmget("user", "age")); // 因为删除了,所以返回的是null System.out.println(jedis.hlen("user")); // 返回key为user的键中存放的值的个数2 System.out.println(jedis.exists("user"));// 是否存在key为user的记录 返回true System.out.println(jedis.hkeys("user"));// 返回map对象中的所有key System.out.println(jedis.hvals("user"));// 返回map对象中的所有value Iterator<String> iter = jedis.hkeys("user").iterator(); while (iter.hasNext()) { String key = iter.next(); System.out.println(key + ":" + jedis.hmget("user", key)); } } /** * jedis操作List */ public static void testList(Jedis jedis) { // 开始前,先移除所有的内容 jedis.del("java framework"); System.out.println(jedis.lrange("java framework", 0, -1)); // 先向key java framework中存放三条数据 jedis.lpush("java framework", "spring"); jedis.lpush("java framework", "struts"); jedis.lpush("java framework", "hibernate"); // 再取出所有数据jedis.lrange是按范围取出, // 第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有 System.out.println(jedis.lrange("java framework", 0, -1)); jedis.del("java framework"); jedis.rpush("java framework", "spring"); jedis.rpush("java framework", "struts"); jedis.rpush("java framework", "hibernate"); System.out.println(jedis.lrange("java framework", 0, -1)); } /** * jedis操作Set */ public static void testSet(Jedis jedis){ //添加 jedis.sadd("user","liuling"); jedis.sadd("user","xinxin"); jedis.sadd("user","ling"); jedis.sadd("user","zhangxinxin"); jedis.sadd("user","who"); //移除noname jedis.srem("user","who"); System.out.println(jedis.smembers("user"));//获取所有加入的value System.out.println(jedis.sismember("user", "who"));//判断 who 是否是user集合的元素 System.out.println(jedis.srandmember("user")); System.out.println(jedis.scard("user"));//返回集合的元素个数 } }
jar包下载地址
2 1
- jedis2.9.0连接redis
- Spring4.3.7+jedis2.9.0整合redis集群
- Redis缓存服务器Java客户端Jedis2.8 demo
- jedis2.9.0没有setMax之类的方法
- Jedis2.9 easy版,基于jedis2.9添加了easy模块,方便单击版redis直接使用
- 关于Redis 3.0.7 的集群部署 及 jedis2.8 与 spring3.2 整合 的测试笔记
- redis连接
- Redis 连接
- Redis连接
- redis连接
- redis -- 连接
- Redis连接
- Redis 连接
- Redis 连接
- redis-cli 连接redis
- Redis-Jedis连接Redis
- spring 与jedis2.7 集合
- redis系列-redis的连接
- JavaScript内存管理和优化
- 2016年最值得学习的五大开源项目
- VRRP概述
- Unity3D 5.3 新版AssetBundle使用方案及策略
- js提升
- jedis2.9.0连接redis
- Bootstrap Table 常见问题
- 常亮中有换行符 语法错误:缺少“)”(在标识符“imshow”前面)
- SWFUpload插件-flash上传工具
- 微信开发 内网穿透功能
- @JsonInclued
- libevent学习之一:libevent源码的特点和结构
- fetch学习笔记
- Ubuntu配置Tomcat