Jedis
编程语言与redis
Jedis用于Java语言连接redis服务,并提供对应的操作API
Java语言连接redis服务
JedisSpringData RedisLettuce
C 、C++ 、C# 、Erlang、Lua 、Objective-C 、Perl 、PHP 、Python 、Ruby 、Scala
Jedis HelloWorld
import redis
.clients
.jedis
.Jedis
;
public class Demo {
public static void main(String
[] args
) {
Jedis jedis
= new Jedis("IP地址",端口号
);
jedis
.set("k", "v");
System
.out
.println(jedis
.get("k"));
jedis
.close();
}
}
Jedis简易工具类开发
配置文件
redis.maxTotal=最大连接数
redis.maxIdel=最大活动连接数
redis.host=服务地址
redis.port=服务端口号
工具类:
import redis
.clients
.jedis
.Jedis
;
import redis
.clients
.jedis
.JedisPool
;
import redis
.clients
.jedis
.JedisPoolConfig
;
import java
.util
.ResourceBundle
;
public class JedisUtils {
private static int maxTotal
;
private static int maxIdel
;
private static String host
;
private static int port
;
private static JedisPoolConfig jpc
;
private static JedisPool jp
;
static {
ResourceBundle bundle
=ResourceBundle
.getBundle("redis");
maxTotal
=Integer
.parseInt(bundle
.getString("redis.maxTotal"));
maxIdel
= Integer
.parseInt(bundle
.getString("redis.maxIdel"));
host
= bundle
.getString("redis.host");
port
= Integer
.parseInt(bundle
.getString("redis.port"));
jpc
= new JedisPoolConfig();
jpc
.setMaxTotal(maxTotal
);
jpc
.setMaxIdle(maxIdel
);
jp
= new JedisPool(jpc
,host
,port
);
}
public static Jedis
getJedis(){
return jp
.getResource();
}
}
持久化
持久化简介
将当前数据状态进行保存,快照形式,存储数据结果,存储格式简单,关注点在数据
将数据的操作过程进行保存,日志形式,存储操作过程,存储格式复杂,关注点在数据的操作过程
持久化方式
RDB : 数据(快照)AOF : 过程(日志)
RDB
手动执行一次保存操作
save
设置本地数据库文件名,默认值为 dump.rdb,通常设置为dump-端口号.rdb
dbfilename filename
设置存储.rdb文件的路径,通常设置成存储空间较大的目录中,目录名称data
dir path
设置存储至本地数据库时是否压缩数据,默认yes,设置为no,节省 CPU 运行时间,但存储文件变大
rdbcompression yes|no
设置读写文件过程是否进行RDB格式校验,默认yes,设置为no,节约读写10%时间消耗,单存在数据损坏的风险
rdbchecksum yes|no
手动启动后台保存操作,但不是立即执行
bgsave
后台存储过程中如果出现错误现象,是否停止保存操作,默认yes
stop-writes-on-bgsave-error yes|no
设置自动持久化的条件,满足限定时间范围内key的变化数量达到指定数量即进行持久化 (second:监控时间范围 changes:监控key的变化量)
save second changes
AOF
开启AOF持久化功能,默认no,即不开启状态
appendonly yes|no
AOF持久化文件名,默认文件名为appendonly.aof,建议配置为appendonly-端口号.aof
appendfilename filename
AOF持久化文件保存路径,与RDB持久化文件保持一致即可
dir
AOF写数据策略,默认为everysec
appendfsync always|everysec|no
RDB VS AOF
持久化方式RDBAOF
占用存储空间小(数据级:压缩)大(指令级:重写)存储速度慢快恢复速度快慢数据安全性会丢失数据依据策略决定资源消耗高/重量级低/轻量级启动优先级低高