我是靠谱客的博主 畅快小虾米,最近开发中收集的这篇文章主要介绍java使用Jedis操作Redis数据库、Jedis连接池 JedisPool、Jedis连接池工具类一、Jedis操作(string、hash、list、set、sortedset )二、Jedis连接池 JedisPool三、Jedis连接池工具类,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
需要架包:
jedis-2.7.0.jar jedis驱动包
commons-pool2-2.3.jar jedis连接池
操作步骤:
1、获取连接
2、操作
3、关闭连接
扩展阅读:Redis非关系数据库(概念、下载安装、命令操作、通用命令、持久化操作、java使用Jedis操作Redis数据库)
一、Jedis操作(string、hash、list、set、sortedset )
/**
* 快速入门
*/
@Test
public void test1(){
//1、获取连接
Jedis jedis=new Jedis("localhost",6379);
//2、操作
jedis.set("username","lt");
//3、关闭连接
jedis.close();
}
/**
* String 数据类型的操作
*/
@Test
public void test2(){
Jedis jedis=new Jedis();//如果使用空参构造,默认"localhost",6379
// 存储
jedis.set("username","tom");
// 获取
String username=jedis.get("username");
System.out.println(username);
// 使用 setex 设置 20秒过期的键值对,20秒后自动删除
jedis.setex("activecode",20,"1234");
jedis.close();
}
/**
* hash 数据类型的操作
*/
@Test
public void test3(){
Jedis jedis=new Jedis();//如果使用空参构造,默认"localhost",6379
// 存储hash
jedis.hset("user","username","lt");
jedis.hset("user","password","111111");
// 获取 hash
String username=jedis.hget("user","username");
System.out.println(username);
// 获取 hash 所有map的数据
Map<String, String> user = jedis.hgetAll("user");
// keyset
Set<String> keyset = user.keySet();
//输入iter
for (String key : keyset) {
// 根据key获取values
String value = user.get(key);
System.out.println(key+":"+value);
}
jedis.close();
}
/**
* list 数据类型的操作
*/
@Test
public void test4(){
Jedis jedis=new Jedis();//如果使用空参构造,默认"localhost",6379
// 存储list
jedis.lpush("mylist","a","b");
jedis.rpush("mylist","c");
//list 弹出
// list 范围获取
List<String> mylist = jedis.lrange("mylist", 0, -1);
System.out.println(mylist);
jedis.close();
}
/**
* set 数据类型的操作
*/
@Test
public void test5(){
Jedis jedis=new Jedis();//如果使用空参构造,默认"localhost",6379
// set 存储
jedis.sadd("myset","a","b","c","d");
// set 获取
Set<String> myset = jedis.smembers("myset");
System.out.println(myset);
jedis.close();
}
/**
* sortedset 数据类型的操作
*/
@Test
public void test6(){
Jedis jedis=new Jedis();//如果使用空参构造,默认"localhost",6379
// sortedset 存储
jedis.zadd("mysort",60,"zhangsan");
jedis.zadd("mysort",50,"lisi");
jedis.zadd("mysort",80,"wangwu");
// sortedset 获取
Set<String> mysort = jedis.zrange("mysort", 0, -1);
System.out.println(mysort);
jedis.close();
}
二、Jedis连接池 JedisPool
/**
* Jedis连接池 JedisPool
*/
@Test
public void test7(){
//0、创建配置对象
JedisPoolConfig config =new JedisPoolConfig();
config.setMaxTotal(50);//最大运行连接数
config.setMaxIdle(10);//最大空闲连接
//1、创建Jedis连接池对象
JedisPool jedisPool=new JedisPool(config,"localhost",6379);
//2、获取连接
Jedis jedis = jedisPool.getResource();
//3、使用
jedis.set("username","lt");
//4、关闭 归还到连接池中
jedis.close();
}
详细配置如下:
三、Jedis连接池工具类
1、在src目录下创建properties文件(jedis.properties)
host=127.0.0.1
port=6379
maxTotal=50
maxIdle=10
2、创建工具类
package com.lt.jedis.util;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
* JedisPool工具类
* 加载配置文件,配置连接池的参数
* 提供获取连接的方法
*/
public class JedisPoolUtils {
private static JedisPool jedisPool;
// 静态代码块(当类加载时,就读取配置文件)
static {
// 使用 JedisPoolUtils类 加载器,读取配置文件,返回输入流
InputStream is = JedisPoolUtils.class.getClassLoader().getResourceAsStream("jedis.properties");
// 创建 properties对象,加载输入流
Properties pro=new Properties();
try {
pro.load(is);
} catch (IOException e) {
e.printStackTrace();
}
// 获取数据、设置JedisPoolConfig中
JedisPoolConfig config=new JedisPoolConfig();
config.setMaxTotal(Integer.parseInt(pro.getProperty("maxTotal")));
config.setMaxIdle(Integer.parseInt(pro.getProperty("maxIdle")));
// 初始化 JedisPool
jedisPool=new JedisPool(config,pro.getProperty("host"),Integer.parseInt(pro.getProperty("port")));
}
/**
*获取连接方法
*/
public static Jedis getJedis(){
return jedisPool.getResource();
}
}
3、测试
/**
* Jedis连接池工具类的使用
*/
@Test
public void test8(){
//1、通过连接池工具类获取
Jedis jedis= JedisPoolUtils.getJedis();
//3、使用
jedis.set("username","ltlll");
//4、关闭 归还到连接池中
jedis.close();
}
最后
以上就是畅快小虾米为你收集整理的java使用Jedis操作Redis数据库、Jedis连接池 JedisPool、Jedis连接池工具类一、Jedis操作(string、hash、list、set、sortedset )二、Jedis连接池 JedisPool三、Jedis连接池工具类的全部内容,希望文章能够帮你解决java使用Jedis操作Redis数据库、Jedis连接池 JedisPool、Jedis连接池工具类一、Jedis操作(string、hash、list、set、sortedset )二、Jedis连接池 JedisPool三、Jedis连接池工具类所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复