Java连接Linux的Redis:ping()返回PONG
- 要可以ping通Linux地址
- 端口号要正确、默认6379
- Linux中的防火墙原因,直接关闭防火墙
chkconfig iptables off
- 使用
#
注释掉redis.conf
中的bind 127.0.0.1
- 以上全部完成如果报:DENIED等一大堆错误,就是说要设置密码,最简单就是把
redis.conf
中protected-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 | 1. RDB:默认方式,不需要进行配置,默认就使用这种机制 |
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相同