Java三种获取redis的连接及redis_String类型演示(适合新手)
0>确保redis进程服务开启
1>第一种:直接获取redis连接,通过redis.()方法测试连接,如果返回PONG则证明连接正常
//1>jedis的入门代码案例,测试连接
@Test
publicvoidtest01(){
//1.获取java连接redis的连接对象
Jedisjedis=newJedis("node1",6379);
//2.执行相关操作
Stringping=jedis.ping();
System.out.println(ping);//返回PONG,说明连接成功
//3.释放资源
jedis.close();
}
2>第二种:通过redis连接池获取redis连接,创建连接池的时候需要指定参数,
setmaxTotal(最大连接数),
setMaxIdle(不繁忙时最大连接数),
setMinIdle(不繁忙时最少连接数);
//2>jedis连接池相关操作
@Test
publicvoidtest02(){
//1.创建连接池对象(需要通过配置指定连接池各种情况下有多少连接)
JedisPoolConfigconfig=newJedisPoolConfig();
config.setMaxTotal(50);//连接池最大有多少连接
config.setMaxIdle(25);//不繁忙时最多有多少个
config.setMinIdle(10);//不繁忙时最少有多少个
JedisPooljedisPool=newJedisPool(config,"node1",6379);
//2.从连接池获取一个连接对象
Jedisjedis=jedisPool.getResource();
//3.执行相关操作
System.out.println(jedis.ping());
//4.释放资源
jedis.close();
}
3>自定义RedisUtils,利用静态代码块使连接池随着类的加载只加载一次,防止每次想创建连接的时候都得先构建连接池浪费资源;
publicclassJedisUtils{
privatestaticJedisPooljedisPool;
//构造方法私有化
privateJedisUtils(){}
static{
//静态代码块:随着类的加载而加载,一般只会加载一次
JedisPoolConfigconfig=newJedisPoolConfig();
config.setMaxTotal(50);//连接池最大有多少连接
config.setMaxIdle(25);//不繁忙时最多有多少个
config.setMinIdle(10);//不繁忙时最少有多少个
jedisPool=newJedisPool(config,"node1",6379);
}
//提供方法获取jedis连接对象
publicstaticJedisgetJedis(){
returnjedisPool.getResource();
}
}
3.1>测试工具类
//3>测试工具类
@Test
publicvoidtest03(){
//1.从工具类获取连接
Jedisjedis=JedisUtils.getJedis();
//2.执行相关操作(测试连接)
System.out.println(jedis.ping());
//3.释放资源(归还)
jedis.close();
}
4>redis的五种数据类型
字符串:String
特点:存储所有的字符和字符串
应用场景:做缓存使用
哈希:hash
特点:相当于java中hashMap集合
应用场景:可以存储javaBean对象,使用场景不多,可被String替代
list:集合
特点:相当于java中linkList,是一个链表的结构
应用场景:做任务队列,在java中客户端提供了线程安全获取集合数据的方式
set:集合
特点:唯一,无序
应用场景:集合运算,例如去重复的操作
应用场景:一般用来做排行榜
有序set集合:sortedset
特点:唯一,有序
4.1>使用jedis操作redis_String(String类型)
//4.使用jedis操作redis_string
@Test
publicvoidtest04()throwsException{
//1.从工具类获取连接
Jedisjedis=JedisUtils.getJedis();
//2.执行相关操作,(操作redis中String类型)
Stringping=jedis.ping();
if("PONG".equalsIgnoreCase(ping)){//进去说明正常连接到redis
//2.1设置数据
jedis.set("name","索隆");
jedis.set("age","25");
//2.2获取数据
Stringname=jedis.get("name");
Stringage=jedis.get("age");
System.out.println(name+""+age);
System.out.println("-----------------------------");
//2.3自增+1
jedis.incr("age");
jedis.incr("age");
jedis.incr("age");
jedis.incr("age");
//2.4自减-1
jedis.decr("age");
jedis.decr("age");
//2.5获取age的值
System.out.println("年龄为:"+jedis.get("age"));
System.out.println("------------------------------");
//2.6设置过期时间:为新创建的key设置过期时间setex
jedis.setex("birthday",10,"1997-11-11");
//2.7获取有效时间:ttl
while(jedis.exists("birthday")){//进来就说明还存在
Longttl=jedis.ttl("birthday");
System.out.println("有效时间还有"+ttl);
//睡眠
Thread.sleep(1000);
}
}
//3.释放资源(归还)
jedis.close();
}
到此这篇关于Java三种获取redis的连接及redis_String类型演示(适合新手)的文章就介绍到这了,更多相关Java获取redis连接内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!