一:redis高级命令
keys *:查看所有key(可以模糊匹配)
exists:是否存在指定的key
expire:设置某个key的过期时间,ttl查看过期剩余时间
persist:取消某个key的过期时间
select :选择数据库,默认有0到15一共16个数据库,默认进入的是0数据库
move key [数据库下标]:将当前数据库中的key移动到下标数据库当中
randomkey:随机返回数据库中的一个key
rename:重新命名某个key
dbsize:查看数据库数量
info : 查看数据库相关信息
echo:打印命令
config get:实时传储收到的请求,返回相关配置信息,如config get *其实就是redis.conf的缩影
flushdb:清空当前数据库,flushall是清空所有
redis中数据库划分是逻辑上的划分
二:redis的安全性
因为redis速度相当快,在一秒内,一个用户可以进行大约15W次的密码尝试,这意味着需要设置非常强大的密码来防止暴力破解
修改redis.conf配置文件,找到 #requirepass foobared设置密码。
重启服务器之后会发现没有权限进行查询。
输入密码即可进入
同时也可以在登陆客户端时直接输入密码:如:/usr/local/redis/bin/redis-cli -a ****(密码);
三:主从复制(redis2.0之前):读写分离,主负责写,从负责读的过程
1.多个master可以有多个slave
2.多个slave可以连接到同一个master外,还可以连接到其它的slave。
3.主从复制不会阻塞master,在同步数据时,master可以继续处理client请求
4.提供系统的伸缩性
主从复制过程:
1.slave与master建立连接,发送sync同步命令
2.master会开启一个新的后台进程,将数据快照保存在文件中,同时master主进程会开始收集新的命令并缓存
3.后台完成保存后,将文件发送给slave
4.slave将此文件保存在硬盘上
主从复制配置
clone服务器之后修改slave的ip地址
修改配置文件
找到从服务器的redis.conf中的slaveof指定master服务的ip和端口(需要防火墙关闭以及c++编译环境)
使用info查看role角色即可知道是主服务或者从服务
测试主从:主服务添加元素
从服务获取,并且只有可读状态
三:哨兵模式
哨兵的含义就是监控redis系统的运行状况,主要功能有两点
1.监控主数据库和从数据库是否正常运行
2.主数据库出现故障时,可以自动的将从数据库转换为主数据库,实现自动切换
实现步骤:在一台从服务器中配置sentinel.conf(redis解压目录下)复制到/usr/local/redis/etc/下
修改配置文件