1.操作redis的key的命令
命令 描述
del key 删除key
exists key 检查key是否存在
expire key 秒 设置key过期时间,单位秒
persist key 移除key的过期时间,key将永久保存
ttl key 返回key的剩余过期时间,单位秒。永久保存返回-1
keys |pattern 查找所有符合条件的key。可以模糊匹配如,?
move key db 将当前数据库的key移动到指定的数据库中
rename key newkey 修改key的名称
type key 返回key 所存储的值的类型
2.Redis高级命令
命令 描述
select 数据库索引 redis中一个整库默认分成了16个子数据库,索引为0-15.默认为0
dbsize 查看当前数据库的key的个数
info 获取当前数据库的信息
flushdb 清空当前数据库
flushall 清空所有的数据库
echo 打印命令,如 echo ‘hello world’
config get *|pattern 获取所有配置的信息
ping 检测redis服务是否启动。如:pong代表启动
3.Redis的安全性
默认redis是没有密码直接访问,为了提高安全性,设置redis密码。
方式一:通过命令方式配置密码。一旦服务器重启,密码重置。
方式二:redis.conf配置文件中配置密码
1.编辑redis.conf 配置文件设置redis密码
cd /usr/local/redis/etc
vim redis.conf
//找到redis.conf文件中的391行,进行密码设置
# requirepass foobared
requirepass 密码
- 密码设置完成,重新启动redis服务器
1. 停止redis服务器
pkill redis-server
2. 启动redis服务器
./redis-server /usr/local/redis/etc/redis.conf
3.通过设置的密码,连接redis服务器
方式一:
1. 启动redis客户端 ./redis-cli
2. 输入keys * 发现出现错误
(error) NOAUTH Authentication required. (没有权限,输入密码)
3. auth 密码
OK 代表成功连接
方式二: 启动客户端时直接输入密码
命令: ./redis-cli -a 密码
-
Redis的主从复制
4.1. 主从复制是什么?
主从复制指的是将一台Redis服务器的数据复制到其他的Redis服务器。
前者称为主服务器(Master),后者称为从服务器(Slave)。
数据复制是单向的,只能从主服务器到从服务器。4.2. 为什么需要主从复制?
1. 读写分离 (分担服务器压力)
2. 单点故障
3. 高可用的基石 (哨兵和集群)4.3. 特点
- 主数据库可以进行读写操作,当读写操作导致数据变化时会自动将数据同步给从数据库。
- 从数据库一般都是只读的,并且接收主数据库同步过来的数据。
- 一个master可以拥有多个slave,但是一个slave只能对应一个master。
- slave挂了不影响其他slave的读和master的读和写,重新启动后会将数据从master同步过来。
- master挂了以后,不影响slave的读,但redis不再提供写服务,master重启后redis将重新对外提供写服务。
- master挂了以后,不会在slave节点中重新选一个master。
4.4. 主从复制配置步骤
- 从服务器需要配置 (默认Redis服务器是主服务器)
修改配置文件redis.conf,将主服务器改成从服务器
1: 编辑redis.conf
vim /usr/local/redis/etc/redis.conf
2: 进入redis.conf文件
第一步:找到205行,设置从服务器
# slaveof
slaveof 主服务的ip 主服务器的端口
第二部:指定主服务密码(如果主服务器没有密码可以省略)
masterauth 主服务密码
2:主服务器需要放行端口号6379
查看从服务器状态:info
如果发现从服务连接主服务显示master_link_status:down
解决:对主服务器配置
1:关闭防火墙 service iptables stop
2:放行6379端口
vim /etc/sysconfig/iptables
4.5 主从复制测试效果