安全验证
设置密码两种方式
1、使用config set requirepass [password]
2、在redis.conf 中设置requirepass属性,后面为密码
输入验证两种方式
1、redis-cli -a password
2、登陆后auth password
主从复制(redis读写分离)
为了分担服务器压力,会在特定情况下部署多台服务器分别用于缓存的读和写操作,用于写操作的服务器称为主服务器,用于读操作的服务器成为从服务器。
从服务器通过psync操作同步主服务器的写操作,并按照一定的时间间隔更新主服务器上新写入的内容
redis主从复制的过程
1、Slave与Master建立连接,发送psync同步命令。
2、Master会启动一个后台进程,将数据库快照保存到文件中,同时Master主进程会开始手机新的写命令并缓存。
3、后台完成保存后,就将此文件发送给Slave
4、Slave将此文件保存在磁盘上
部署过程及实例
Master:10.6.12.121
Slave:10.6.12.190
编辑master主配置文件redis.conf
1、注释掉bind 127.0.0.1
2、protected-mode no 关闭保护模式
3、(可选)requirepass [password]
slave节点两种方法
一、编辑slave节点redis.conf
1、注释掉bind行
2、slaveof [masterip] [port]
3、(可选)masterauth [password]
二、在slave上的redis-cli下
1、slaveof [masterip] [port]
2、(可选)masterauth [password]
master
slave
redis主从复制的特点
1、可以拥有多个Slave
2、多个Slave可以连接同一个Master外,还可以连接到其他的Slave。(当Master宕机时,相连的Slave转变为master)
3、主从复制不会阻塞Master,在同步数据时,Master可以继续处理Client请求
4、提高了系统的可伸缩性
事务处理
mutli宣告事务开始
exec进行执行
持久化机制
内存中的数据在重启后会消失,持久化的作用就是将这些数据长久存储在硬盘中以支持长久使用
redis支持两种持久化方式 、快照和aof
1、snapshotting
快照:将数据存放到文件里,默认方式
将内存中的数据以快照方式写入二进制文件,默认文件dump.rdb,可以通过配置来实现redis在n秒内如果超过m个key值被修改就自动保存快照,
save 300 10:300秒内如果超过10个key被修改,则快照保存。
2、append-only file(aof)
将读写操作存放到文件中
由于快照方式在一定间隔时间做一次,所以如果redis宕机,就会丢失最后一次快照后的所有修改。aof比快照有更好的持久化性,因为使用aof时,redis会将每一个都到的写命令都通过write函数写入到文件中,当redis启动时会通过重新执行文件中保存的写命令来在内存中重新建立整个数据库的内容
配置文件中相关参数
appendonly yes 启用aof持久化方式
appendfsync always 收到写命令就立即写入磁盘,最慢的模式,但是保证了数据的完整持久化
appendfsync everysec 每秒钟写入磁盘一次,在性能和持久化方面做折中,
appendfsync no 完全依赖os 性能最好,持久化没有保证
在cli中使用save命令将数据写入磁盘中