Jedis​

我们使用Java来操作redis


什么是Jedis,是redis官方推荐的java连接开发工具!使用redis中间件,如果你要使用java操作redis,那么一定要对Jedis十分的熟悉!



Jedis​_java


Jedis​_持久化_02


Jedis​_持久化_03


Jedis​_持久化_04


Jedis​_redis_05


Jedis​_持久化_06


Jedis​_redis_07


Jedis​_redis_08


Jedis​_java_09


Jedis​_持久化_10


Jedis​_持久化_11


Jedis​_redis_12



导入Jedis的包

网址:https://mvnrepository.com/

Jedis​_java_13


Jedis​_持久化_14





测试


  1. 导入对应的依赖
  2. Jedis​_redis_15


  3. 编码测试

连接数据库

操作命令

断开连接

Jedis​_java_16




输出

Jedis​_redis_17



常用的API

string:


Jedis​_redis_18


list

Jedis​_redis_19



set

Jedis​_redis_20


hash

Jedis​_java_21



所有的api命令,就是我们对应上面学习的指令,一个都没有变化


SpringBoot整合


Redis.conf详解

启动的时候,就通过配置文件来启动!


单位

Jedis​_持久化_22


  1. 配置文件unit单位对大小写不敏感

包含

Jedis​_java_23


就好比我们学习Spring、Improt、include


网络

bind 127.0.0.1绑定的ip

protected-mode yes保护模式

port 6379 # 端口设置


通用GENERAL

daemonize yes # 以守护进程的方式运行,默认是no,我们需要自己开启为yes

pidfile /var/run/redis-6379.pid # 如果以后台方式运行,我们就需要指定一个pid文件

# 日志

# Specify the server verbosity level.

# This can be one of:

# debug (a lot of information, useful for development/testing)

# verbose (many rarely useful info, but not a mess like the debug level)

# notice (moderately verbose, what you want in production probably)生产环境

# warning (only very important / critical messages are logged)

loglevel notice

logfile ""日志的文件位置名

databases 16 # 数据库的数量,默认是16个数据库

always-show-logo yes # 是否总是显示LOGO


快照SNAPSHOTTING


持久化,在规定的时间内执行了多少次操作,则会持久化到文件.rdb.aof

redis是内存数据库,如果没有持久化,那么数据断电即失


save 900 1如果900s内,如果至少有一个1 key进行了修改,我们即进行持久化操作

save 300 10如果300s内,如果至少有10 key进行了修改,我们即进行持久化操作

save 60 10000如果60s内,如果至少有10000 key进行了修改,我们即进行持久化操作

#我们之后学习持久化,会自己定义这个测试

stop-writes-on-bgsave-error yes # 持久化如果出错,是否还需要继续工作

rdbcompression yes # 是否压缩rdb文件,需要消耗一些cpu资源

rdbchecksum yes # 保存rdb文件的时候,进行错误的检查校验

dir ./ # rdb文件保存的目录


REPLICATION复制,我们后面讲解主从复制的时候再进行讲解


SECURITY安全

可以在这里设置redis的密码,默认是没有密码


127.0.0.1:6379> ping

PONG

127.0.0.1:6379> config get requirepass 获取redis密码

1) "requirepass"

2) ""

127.0.0.1:6379> config set requirepass "123456"设置redis密码

OK

127.0.0.1:6379>config get requirepass 发现所有的命令都没有权限

(error) NOAUTH Authentication required.

127.0.0.1:6379> ping

(error) NOAUTH Authentication required.

127.0.0.1:6379> auth 123456 使用密码进行登录

OK

127.0.0.1:6379> config get requirepass

1) "requirepass"

2) "123456"


限制CLIENTS

maxclients 10000 # 设置能连接上redis的最大客户端的数量

maxmemory <bytes> # redis配置最大内存容量

maxmemory-policy noeviction # 内存到达上限之后的处理策略

  1. volatile-lru 只对设置了过期时间的key进行LRU(默认值)
  2. allkeys-lru 删除lru算法的key
  3. volatile-random 随机删除即将过期的key
  4. allkeys-random 随机删除
  5. volatile-ttl 删除即将过期的
  6. noeviction 永不过期,返回错误

APPEND ONLY模式 aof配置

appendonly no # 默认是不开启aof模式的,默认是使用rdb方式持久化的,在大部分所有的情况下,rdb完全够用

appendfilename appendonly.aof持久化的文件的名字

# appendfsync always # 每次修改都会sync(同步)。消耗性能

appendfsync everysec # 每秒执行一次sync,可能会丢失这1s的数据

# appendfsync no # 不执行sync,这个时候操作系统自己同步数据,速度最快

具体的配置,我们在redis持久化中去详细讲解