- 操作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 所存储的值的类型 |
- Redis高级命令
命令 |
描述 |
select 数据库索引 |
redis中一个整库默认分成了16个子数据库,索引为0-15.默认为0 |
dbsize |
查看当前数据库的key的个数 |
info |
获取当前数据库的信息 |
flushdb |
清空当前数据库 |
flushall |
清空所有的数据库 |
echo |
打印命令,如 echo ‘hello world’ |
config get *|pattern |
获取所有配置的信息 |
ping |
检测redis服务是否启动。如:pong代表启动 |
- Redis的安全性
默认redis是没有密码直接访问,为了提高安全性,设置redis密码。
方式一:通过命令方式配置密码。一旦服务器重启,密码重置。
|
方式二:redis.conf配置文件中配置密码
1.编辑redis.conf 配置文件设置redis密码
cd /usr/local/redis/etc vim redis.conf //找到redis.conf文件中的391行,进行密码设置 # requirepass foobared requirepass 密码 |
2. 密码设置完成,重新启动redis服务器
1. 停止redis服务器 pkill redis-server 2. 启动redis服务器 ./redis-server /usr/local/redis/etc/redis/conf |
- 通过设置的密码,连接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. 特点
1. 主数据库可以进行读写操作,当读写操作导致数据变化时会自动将数据同步给从数据库。 2. 从数据库一般都是只读的,并且接收主数据库同步过来的数据。 3. 一个master可以拥有多个slave,但是一个slave只能对应一个master。 4. slave挂了不影响其他slave的读和master的读和写,重新启动后会将数据从master同步过来。 5. master挂了以后,不影响slave的读,但redis不再提供写服务,master重启后redis将重新对外提供写服务。 6. master挂了以后,不会在slave节点中重新选一个master。 |
4.4. 主从复制配置步骤
1. 从服务器需要配置 (默认Redis服务器是主服务器)
修改配置文件redis.conf,将主服务器改成从服务器
1: 编辑redis.conf vim /usr/local/redis/etc/redis.conf 2: 进入redis.conf文件 第一步:找到205行,设置从服务器 # slaveof <masterip> <masterport> slaveof 主服务的ip 主服务器的端口 第二部:指定主服务密码(如果主服务器没有密码可以省略) masterauth 主服务密码 |
2:主服务器需要放行端口号6379
查看从服务器状态:info 如果发现从服务连接主服务显示master_link_status:down 解决:对主服务器配置 1:关闭防火墙 service iptables stop 2:放行6379端口 vim /etc/sysconfig/iptables |