Redis【3】其他部分

Java连接Linux的Redis:ping()返回PONG

  • 要可以ping通Linux地址
  • 端口号要正确、默认6379
  • Linux中的防火墙原因,直接关闭防火墙chkconfig iptables off
  • 使用#注释掉redis.conf中的bind 127.0.0.1
  • 以上全部完成如果报:DENIED等一大堆错误,就是说要设置密码,最简单就是把redis.confprotected-mode yes 改为no
  • 完成以上内容就可以jedis.ping()返回PONG了.

Redis设置密码

  • CONFIG SET requirepass "123456" 这里把密码设置成了 123456
  • 需要jedis连接时,需要输入jedis.auth("123456")

Redis事务

  • discard放弃事务 exec执行 multi开启 unwatch取消监控 watch监控
  • 正常执行multi ,入队,exec执行
  • 放弃事务multi ,入队,discard取消
  • 全体连坐multi ,入队时报错,exec时全部挂掉
  • 冤头债主multi ,入队时不报错,exec时互不影响
  • watch监控CAS(Check And Set),watch [key]监控一个或多个key,事务执行之前做过key有改动,事务被打断,unwatch取消watch监控的所有key

持久化

优先加载AOF
redis是一个内存数据库,当redis服务器重启,获取电脑重启,数据会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1. RDB:默认方式,不需要进行配置,默认就使用这种机制
* 在一定的间隔时间中,检测key的变化情况,然后持久化数据
1. 编辑redis.windwos.conf文件
# after 900 sec (15 min) if at least 1 key changed
save 900 1
# after 300 sec (5 min) if at least 10 keys changed
save 300 10
# after 60 sec if at least 10000 keys changed
save 60 10000

2. 重新启动redis服务器,并指定配置文件名称
D:\JavaWeb2018\day23_redis\资料\redis\windows-64\redis-2.8.9>redis-server.exe redis.windows.conf

2. AOF:日志记录的方式,可以记录每一条命令的操作。可以每一次命令操作后,持久化数据
1. 编辑redis.windwos.conf文件
appendonly no(关闭aof) --> appendonly yes (开启aof)

# appendfsync always : 每一次操作都进行持久化
appendfsync everysec : 每隔一秒进行一次持久化
# appendfsync no : 不进行持久化

RDB

全称Redis DataBase 对应文件dump.rdb

  • 是什么能够在指定的时间间隔对你的数据进行快照储存,保存RDB文件时,父进程fork一个子进程,接下来的工作全部由子进程来做,可以最大化Redis性能
  • save格式save 秒数 改变次数
  • 三种保存方式,会产生rdb文件
    • save命令保存,只保存数据,其他的阻塞
    • bgsave命令保存,异步保存,保存数据的同时也可以做其他工作
    • flushall也可以保存,但是数据是空,无意义
  • 如何恢复将备份文件(dump.rdb)移动到redis安装目录并启动服务即可
  • 优势速度快,适合对大规模数据恢复,对数据完整性和一致性要求不高
  • 劣势内存中被克隆了一份,占空间;在一定间隔时间做一次备份,如果意外down掉的话,就会丢失最后一次的所有修改

AOF

全称Append Only File 对应文件appendonly.aof

  • 是什么以日志形式来追加记录每一个写操作,恢复需要根据日志文件的命令从头到尾执行一次
  • appendfsync同步方式
    • 修改同步always:同步持久化,每次发生改变都会写入磁盘,性能差,完整性好
    • 每秒同步everysec:默认,异步操作,如果一秒内宕机,有数据丢失
    • 不同步no:关闭
  • 启动修改默认appendonly no 改为 yes
  • 修复Redis-check-aof –fix进行修复
  • 恢复重启Redis然后重新加载
  • 优势可以灵活设置同步方式修改同步,每秒同步,不同步
  • 劣势相同数据aof要远大于rdb文件,恢复速度慢与rdb,aof运行效率要慢于rdb,每秒同步策略效率较好,不同步效率和rdb相同