- Java连接VMware的Redis:ping()返回PONG
- 要可以ping通VMware地址
- 端口号要正确、默认6379
- VMware中的防火墙原因、需添加6379端口号的防火墙:
- vim /etc/sysconfig/iptables
- 进入之后 按 I 插入一行 -A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
- 按 ESC 输入 :wq 退出.然后重启服务 service iptables restart
- #注释掉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
- RDB与AOF(优先加载AOF)
- 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相同
- RDB(Redis DataBase)(dump.rdb)