Redis初入门——Jedis和Redis持久化

158 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第4天,点击查看活动详情

Jedis是Java语言连接redis服务的工具

一、Jedis的jar包导入

下载地址:mvnrepository.com/artifact/re…

  • maven坐标
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>

客户端连接redis

  • 连接redis
Jedis jedis = new Jedis("localhost", 6379);
  • 操作redis
jedis.set("name", "itheima");

jedis.get("name");

  • 关闭redis连接
jedis.close();
  • API文档

xetorthio.github.io/jedis/

二、Jedis简易工具类开发

封装连接参数

  • jedis.properties
jedis.host=localhost

jedis.port=6379

jedis.maxTotal=30

jedis.maxIdle=10

加载配置信息

  • 静态代码块初始化资源
static{
//读取配置文件 获得参数值
ResourceBundle rb = ResourceBundle.getBundle("jedis");
host = rb.getString("jedis.host");
port = Integer.parseInt(rb.getString("jedis.port"));
maxTotal = Integer.parseInt(rb.getString("jedis.maxTotal"));
maxIdle = Integer.parseInt(rb.getString("jedis.maxIdle"));
poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(maxTotal);
poolConfig.setMaxIdle(maxIdle);
jedisPool = new JedisPool(poolConfig,host,port);
}

获取连接

  • 对外访问接口,提供jedis连接对象,连接从连接池获取
public static Jedis getJedis(){
Jedis jedis = jedisPool.getResource();
return jedis;
}

三、持久化简介

1.什么是持久化?

利用永久性存储介质将数据进行保存,在特定的时间将保存的数据进行恢复的工作机制称为持久化

2.为什么要进行持久化

防止数据的意外丢失,确保数据安全性

3.持久化过程保存什么

  • 将当前数据状态进行保存,快照形式,存储数据结果,存储格式简单,关注点在数据

  • 将数据的操作过程进行保存,日志形式,存储操作过程,存储格式复杂,关注点在数据的操作过程

四、RDB

RDB启动方式 —— save指令

  • 命令
save
  • 作用
  • 手动执行一次保存操作

RDB启动方式 —— save指令相关配置

  • dbfilename dump.rdb

说明:设置本地数据库文件名,默认值为 dump.rdb

经验:通常设置为dump-端口号.rdb

  • dir

说明:设置存储.rdb文件的路径

经验:通常设置成存储空间较大的目录中,目录名称data

  • rdbcompression yes

说明:设置存储至本地数据库时是否压缩数据,默认为 yes,采用 LZF 压缩

经验:通常默认为开启状态,如果设置为no,可以节省 CPU 运行时间,但会使存储的文件变大(巨大)

  • rdbchecksum yes

说明:设置是否进行RDB文件格式校验,该校验过程在写文件和读文件过程均进行

经验:通常默认为开启状态,如果设置为no,可以节约读写性过程约10%时间消耗,但是存储一定的数据损坏风险