Redis连接工具类
2024-10-19 21:26:23
Redis连接工具类
导包
测试一下(junit)
package com.test; import org.junit.Test;
import redis.clients.jedis.Jedis; /**
* @author: 肖德子裕
* @date: 2018/9/19 15:00
* @description: 测试redis数据库的使用
* redis的持久化操作
* 1)RDB:快照方式将数据从内存保存到磁盘,仿佛以照片方式保存;
* 优势:无需配置;劣势:按时间点保存,如果服务器挂了,只能恢复到上一个时间点
* 2)AOF:以日志方式保存数据,连操作步骤也保存
* 优势:及时保存数据;劣势:日志里的步骤都会执行
*/
public class redisTest {
@Test
//通过java程序获取单一的Jedis对象操作数据库
public void test(){
//获取连接对象
Jedis jedis=new Jedis("localhost",6379); //连接远程或者虚拟机的redis;记得开放端口
//Jedis jedis=new Jedis("IP地址",6379); //存储数据
jedis.set("username","xdzy");
//获取数据
System.out.println(jedis.get("username"));
}
}
Redis连接池(一个redis.properties资源文件)
redis.maxIdle=30
redis.minIdle=10
redis.maxTotal=50
redis.url=localhost
redis.port=6379
写个工具类方便以后用
package com.utils; import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig; import java.io.InputStream;
import java.util.Properties; /**
* @author: 肖德子裕
* @date: 2018/9/19 15:28
* @description: 获取jedis对象的工具
*/
public class JedisPoolUtils {
//设置连接池
private static JedisPool pool=null; //静态代码块获取连接池
static {
//加载配置文件
InputStream in=JedisPoolUtils.class.getClassLoader().getResourceAsStream("com/redis.properties");
Properties pro=new Properties();
try{
pro.load(in);
}catch (Exception e){
e.printStackTrace();
} //创建连接池的配置对象
JedisPoolConfig poolConfig=new JedisPoolConfig();
//最大闲置个数
poolConfig.setMaxIdle(Integer.parseInt(pro.get("redis.maxIdle").toString()));
//最小闲置个数
poolConfig.setMinIdle(Integer.parseInt(pro.get("redis.minIdle").toString()));
//最大连接数
poolConfig.setMaxTotal(Integer.parseInt(pro.get("redis.maxTotal").toString()));
//创建一个Redis的连接池
pool=new JedisPool(poolConfig,pro.getProperty("redis.url"),Integer.parseInt(pro.get("redis.port").toString()));
} //获取jedis对象
public static Jedis getJedis(){
return pool.getResource();
} public static void main(String[] args) {
Jedis jedis=getJedis();
//存储数据
jedis.set("username","xdzy");
//关闭redis软件,数据就没有了
System.out.println(jedis.get("username"));
}
}
最新文章
- JAVA file文件操作
- Mysql 模糊匹配和转义字符
- Mybatis源码解析(一)(2015年06月11日)
- shell 中grep命令详解
- js修改input的type属性问题
- js 取到相同的字符串 返回对应的下标
- 【NodeJs】Ctrl+C在Linux平台和Windows平台下的TCP连接中的不同表现
- js中的confirm的运用
- 事件冒泡(event bubbling)与事件捕捉(event capturing)
- ubuntu16 mysql在线安装
- Perl和操作系统交互(一):system、exec和反引号
- 数据库 -- mysql表操作
- 浅谈jQuery的promise
- kolla-ansible配置cinder 的ceph的多种后端存储池【转】
- 深度学习原理与框架-Tfrecord数据集的读取与训练(代码) 1.tf.train.batch(获取batch图片) 2.tf.image.resize_image_with_crop_or_pad(图片压缩) 3.tf.train.per_image_stand..(图片标准化) 4.tf.train.string_input_producer(字符串入队列) 5.tf.TFRecord(读
- android studio报Resolved versions for app (26.1.0) and test app (27.1.1)differ. 错误的解决办法
- 使用 docker 创建自己的镜像
- [转]Python numpy函数hstack() vstack() stack() dstack() vsplit() concatenate()
- js中===与==区别
- linux Tar 命令参数详解