redis使用技巧小结
一、Redis 密码设置和查看密码
redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式,可以编辑redis.conf配置来启用认证。
1、初始化Redis密码:
在配置文件中有个参数:requirepass,这个就是配置redis访问密码的参数;
比如 requirepass password
(Ps:需重启Redis才能生效) redis的查询速度是非常快的,外部用户一秒内可以尝试多大150K个密码;所以密码要尽量长(对于DBA 没有必要必须记住密码);
2、不重启Redis设置密码:
在配置文件中配置requirepass的密码(当redis重启时密码依然有效)。
redis 127.0.0.1:6379> config set requirepass password
查询密码:
redis 127.0.0.1:6379> config get requirepass
(error) ERR operation not permitted
密码验证:
redis 127.0.0.1:6379> auth password
OK
再次查询:
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "password"
PS:如果配置文件中没添加密码 那么redis重启后,密码失效;
3、登陆有密码的Redis:
在登录的时候的时候输入密码:
redis-cli -p 6379 -a password
先登陆后验证:
redis-cli -p 6379
redis 127.0.0.1:6379> auth password
OK
AUTH命令跟其他redis命令一样,是没有加密的;阻止不了攻击者在网络上窃取你的密码;
认证层的目标是提供多一层的保护。如果防火墙或者用来保护redis的系统防御外部攻击失败的话,外部用户如果没有通过密码认证还是无法访问redis的。
二、启动、停止redis:
启动redis:
node02执行以下命令启动redis
cd /export/servers/redis-3.2.8/
src/redis-server redis.conf
停止redis:
redis-cli -h node02 -p 6379 shutdown
或者直接kill -9 redis进程号
三、连接redis客户端:
node01执行以下命令连接redis客户端
cd /export/servers/redis-3.2.8
src/redis-cli -h node01 -p 6379 -a password
四、批量删除keys:
1.未登录客户端的情况下:
redis为默认端口号6379,无连接密码,删除命令如下:
redis-cli keys "key*" | xargs redis-cli del
redis不为默认端口号6379,连接密码为"password",删除命令如下:
redis-cli -h node02 -p 6379 -a password keys "itcast*" | xargs redis-cli -h node02 -p 6379 -a password del
但是会报错:(error) ERR wrong number of arguments for 'del' command
2.登录redis客户端后,也可以批量删除,如下:
DEL key1 key2 #删除多个key
flushdb #删除当前数据库中的所有Key
flushall #删除所有数据库中的key
五、redis绑定多个IP:
bind 192.168.8.100 127.0.0.1 #多个IP之间用空格进行分隔
bind 0.0.0.0 #可以绑定任意IP
六、redis的主从复制架构需要密码验证:
redis master配置了密码,需要进行主从同步的话,要在所有的slave的redis.conf中配置验证:masterauth 123456
否则查看redis.log,可以发现报错信息如下:
5933:S 05 Sep 20:46:09.100 * Connecting to MASTER 192.168.8.100:6379
5933:S 05 Sep 20:46:09.101 * MASTER <-> SLAVE sync started
5933:S 05 Sep 20:46:09.101 * Non blocking connect for SYNC fired the event.
5933:S 05 Sep 20:46:09.103 * Master replied to PING, replication can continue...
5933:S 05 Sep 20:46:09.103 * (Non critical) Master does not understand REPLCONF listening-port: -NOAUTH Authentication required.
5933:S 05 Sep 20:46:09.104 * (Non critical) Master does not understand REPLCONF capa: -NOAUTH Authentication required.
5933:S 05 Sep 20:46:09.104 * Partial resynchronization not possible (no cached master)
5933:S 05 Sep 20:46:09.105 # Unexpected reply to PSYNC from master: -NOAUTH Authentication required.
5933:S 05 Sep 20:46:09.105 * Retrying with SYNC...
5933:S 05 Sep 20:46:09.106 # MASTER aborted replication with an error: NOAUTH Authentication required.
七、哨兵模式,sentinel和redis身份验证配置:
当一个master配置为需要密码才能连接时,客户端和slave在连接时都需要提供密码。
redis.conf文件中:
(1)master通过requirepass设置自身的密码,不提供密码无法连接到这个master。
(2)slave通过masterauth来设置访问master时的密码。
但是当使用了sentinel时,由于一个master可能会变成一个slave,一个slave也可能会变成master,所以需要同时设置上述两个配置项。
sentinel.conf文件中,需要配置:
sentinel monitor mymaster 192.168.8.100 6379 2
sentinel auth-pass mymaster 123456 # Set the password to use to authenticate with the master and slaves.
protected-mode no(设置成:protected-mode no;保护模式关闭,如果你不关闭保护模式,启动哨兵的时候,无法正常运行)
注意:(1)如果redis的master和slave设置了密码,则必须要设置protected-mode no,否则master的redis-server进程意外停止时,redis.log日志文件中会打印错误信息:
3936:S 05 Sep 22:40:38.745 * Connecting to MASTER 192.168.8.100:6379
3936:S 05 Sep 22:40:38.746 * MASTER <-> SLAVE sync started
3936:S 05 Sep 22:40:38.747 # Error condition on socket for SYNC: Connection refused
(2)可能需要master和slave的密码设置相同,不过没有验证过设置不同密码的话哨兵模式会不会失败。
八、
redis使用技巧小结的更多相关文章
- PowerDesigner实用技巧小结(3)
PowerDesigner实用技巧小结(3) PowerDesigner 技巧小结 sqlserver数据库databasevbscriptsqldomain 1.PowerDesigner 使用 M ...
- PowerDesigner实用技巧小结(2)
PowerDesigner实用技巧小结 1.ORACLE数据库建模时,由于ORACLE的表名.字段名如果是小写会有一定的麻烦,需要将小写转化为大写? (1)在打开pdm的情况下,进入Tools-Mod ...
- PHP操作Redis常用技巧
这篇文章主要介绍了PHP操作Redis常用技巧,结合实例形式总结分析了php针对redis的连接.认证.string.hash等操作技巧与注意事项,需要的朋友可以参考下 本文实例讲述了PHP操作Red ...
- Spring Boot + MyBatis + Druid + Redis + Thymeleaf 整合小结
Spring Boot + MyBatis + Druid + Redis + Thymeleaf 整合小结 这两天闲着没事想利用**Spring Boot**加上阿里的开源数据连接池**Druid* ...
- CentOS系统中的passwd命令实用技巧小结
这篇文章主要介绍了Linux系统中的passwd命令实用技巧小结,是Linux入门学习中的基础知识,需要的朋友可以参考下 先来回顾一下passwd命令的基本用法: Linux passwd命令用来 ...
- 转:Redis监控技巧
转自:http://blog.nosqlfan.com/html/4166.html Redis监控技巧 作者:nosqlfan on 星期二, 一月 29, 2013 · 16条评论 [阅读:25, ...
- github搜索技巧小结
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 10 个 Redis 建议/技巧
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/145.html?1455790611 Redis 在当前的技术社区里是非常 ...
- Redis日常操作命令小结
Redis缓存服务是运维工作中比较常见的一种维护工作,下面就redis日常操作命令在此做一简单小结,以备查用: 1)连接redis服务命令# redis-cli -h redis主机ip或主机域名 - ...
随机推荐
- MongoDB 在Windows环境的下载、安装、配置
MongoDB4.0在Windows环境的下载.安装.配置 今天本想玩玩MongoDB,可因工作机上未下载Linux虚拟机,下载多耗时.无奈只能先下载Windows版本耍耍.不料,Windows在安装 ...
- springmvc、 springboot 项目全局异常处理
异常在项目中那是不可避免的,通常情况下,我们需要对全局异常进行处理,下面介绍两种比较常用的情况. 准备工作: 在捕获到异常的时候,我们通常需要返回给前端错误码,错误信息等,所以我们需要手动封装一个js ...
- nmon+Java Nmon Analyser进行nmon监控数据可视化分析
我们知道nmon是一款轻量级的系统占用极少,监控功能非常强大支持跨平台ARM,centos,ubuntu等等系统的工具下载地:centos7 wget http://sourceforge.net/p ...
- js实现图片轮播图
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- JavaWeb02-JSP数据交互
01.页面编码格式 001.jsp页面本身的编码 page指令中的 pageEncoding属性! 002.浏览器渲染页面采用的编码 contentType属性 003.服务器保存数据采用的编码(re ...
- 了解 go 的 Context
go 的 Context 一直对 go 的 Context 一知半解,不了解其用途,因此在这里着重了解一下 go 语言的 Context 飞雪无情的一个博文对 go 的 Context 讲的比较易懂一 ...
- CTF_论剑场 名侦探柯南
首先看一下是一个压缩包然后下载 解压后会发现一个图片和另一个压缩包 打开图片 发现是这个 用HxD分析一下这张图片通过搜索 zip jpg...... 然后会发现这张图片里有一个png 图片 所以判断 ...
- 关于Spring+mybatis使用@Transactional注解事物没有生效的问题
控制台日志信息: was not registered for synchronization because synchronization is not active JDBC Connectio ...
- 删除数据高级用法:delete,truncate
1.语法: delete 允许使用条件(删除符合条件的数据) 允许使用limit,限制删除的记录数.limit N 常见的是,limit配合order by来使用:先将结果排序,再删除固定数量 ...
- yii components文件到底应该放些什么代码
项目全局用的代码,比如项目所有controller和model的共通操作或者放一些第三方的组件.插件之类的项目全局用的代码