Redis 设置密码登录
前言
redis在生产环境中通常都会设置密码以保证一定的安全性,本篇blog就简单记录一下如何在redis中设置客户端登录密码。
修改redis.conf
RT,打开redis.conf文件,搜索requirepass关键字,如下图:
关注标记的那一行,#requirepass foobared。设置密码的方法就是去掉注释的#,把foobared替换成自己的密码即可,例如将密码设置为123456:
修改完成后重启redis,再次通过redis客户端redis-cli登录并操作可以发现会报一个身份认证错误:
这就说明我们已经成功的设置了密码,所以通过客户端连接的话必须加上密码参数才能正常连接:
如上图所示,加了-a参数之后即可正常连接并操作redis。
jedis设置密码
当我们用Java客户端连接redis时会遇到同样的问题,下面看一段简单的jedis连接redis的测试代码:
package com.firstelite.test;import org.junit.Test;import redis.clients.jedis.Jedis;public class Test4Jedis {@Testpublic void testTwo() {Jedis jedis = new Jedis("192.168.145.10");System.out.println("Connection to server sucessfully");// 查看服务是否运行System.out.println("Server is running: " + jedis.ping());}}
非常简单,仅仅是测试一下Jedis是否连通redis服务器,运行junit后我们发现报异常了:
redis.clients.jedis.exceptions.JedisDataException: NOAUTH Authentication required.at redis.clients.jedis.Protocol.processError(Protocol.java:117)at redis.clients.jedis.Protocol.process(Protocol.java:142)at redis.clients.jedis.Protocol.read(Protocol.java:196)at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:288)at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:187)at redis.clients.jedis.BinaryJedis.ping(BinaryJedis.java:109)at com.firstelite.test.Test4Jedis.testTwo(Test4Jedis.java:15)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:601)at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)at org.junit.runners.ParentRunner.run(ParentRunner.java:236)at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
显而易见,由于我们设置了密码但在这里又没有指定密码,所以报了和刚才相同的错误,那么如何指定密码呢?很简单,Jedis的父类BinaryJedis提供了这样一样方法:
public String auth(final String password) {checkIsInMulti();client.auth(password);return client.getStatusCodeReply();}
所以在创建了Jedis的实例后再加上一行jedis.auth("123456");
即可,最后看一下运行结果:
spring-data-redis设置密码
通常情况下在实际的java项目中我们会选择Spring提供的spring-data-redis来操作redis,spring的封装可以给我们提供很多便捷之处。那么spring-data-redis又是如何设置密码的呢?首先定义一个redis.properties配置文件,定义一组redis属性供spring加载使用,其中就包含密码(redis.password):
# Redis settings
redis.host=192.168.145.10
redis.port=6379
redis.password=123456
redis.timeout=100000
redis.maxTotal=300
redis.maxIdle=100
redis.maxWaitMillis=1000
redis.testOnBorrow=true
然后在由Spring封装的JedisConnectionFactory中来设置密码属性即可,下面是完整redis配置:
<!-- redis配置 -->
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig"><property name="maxIdle" value="${redis.maxIdle}" /><property name="maxWaitMillis" value="${redis.maxWaitMillis}" /><property name="testOnBorrow" value="${redis.testOnBorrow}" />
</bean>
<bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"p:host-name="${redis.host}" p:port="${redis.port}" p:password="${redis.password}" p:pool-config-ref="poolConfig" />
<bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate"><property name="connectionFactory" ref="connectionFactory" />
</bean>
总结
简单整理一下关于Redis设置密码相关的内容,希望对遇到同样问题的朋友有所帮助,The End。
Redis 设置密码登录相关推荐
- linux下redis设置密码登录(简单易懂)
linux下redis设置密码登录 redis设置密码访问 你的redis在真是环境中不可以谁想访问就可以访问,所以必须要设置密码 设置密码的流程如下: vim /etc/redis.conf #re ...
- linux下redis设置密码登录
随时随地技术实战干货,获取项目源码.学习资料,请关注源代码社区公众号(ydmsq666) redis设置密码访问 你的redis在真是环境中不可以谁想访问就可以访问,所以必须要设置密码 设置密码的流程 ...
- java redis密码_Redis 设置密码登录
前言 redis在生产环境中通常都会设置密码以保证一定的安全性,本篇文章就简单记录一下如何在redis中设置客户端登录密码. 修改redis.conf RT,打开redis.conf文件,搜索requ ...
- redis设置密码并修改查看的几种方式
前言 最近正值世纪杯期间,不知道大家心目中的球队成绩如何,最近在工作中需要设置redis服务器的密码的场景 设置密码可以在很大的程度保护redis服务器,但是相关的命令需要通过密码校验之后才能使用 下 ...
- windows Redis设置密码和取消密码
Redis设置密码和取消密码 一.临时设置密码 获取密码config get requirepass设置密码config set requirepass 123456当有密码的时候登录时需要密码登录a ...
- Ubuntu下Redis设置密码时配置文件修改密码成功但仍CONFIG GET为空问题解决摸索小记
Ubuntu下Redis设置密码时配置文件修改密码成功但仍CONFIG GET为空问题解决摸索小记 1.问题描述 2.艰难摸索解决路途小记 (1)初遇问题try一try (2)发现问题所在 (3)问题 ...
- redis设置密码和取消密码
redis设置密码和取消密码 文章目录 redis设置密码和取消密码 一.设置临时密码 二.永久设置密码 一.设置临时密码 获取密码config get requirepass 设置密码config ...
- windows Redis绑定ip无效,Redis设置密码无效,Windows Redis 配置不生效, Windows Redis requirepass不生效...
windows Redis绑定ip无效,Redis设置密码无效,Windows Redis 配置不生效, Windows Redis requirepass不生效 >>>>&g ...
- ThinkPHP6项目基操(16.实战部分 redis+token登录)
redis+token登录 前言 一.生成唯一token 二.设置token并返回token到前端 三.登录拦截器(需要登录/不需登录) 前言 登录一般可以使用session处理,它使用比较简单,但是 ...
最新文章
- [4]Telerik Grid 简单使用方法
- 网络安全与渗透测试工具集合
- MySQL单表删除重复列SQL语句
- 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——B题 小宝的幸运数组
- OpenCV颜色空间转换函数:cv::cvtColor介绍
- 关于Mysql8.0.26版本与IDEA连接的配置
- php if echo,多个?php if .. echo'..'; ?如何优化写法?
- 机器学习框架_机器学习中的概率框架
- 黑苹果 OC引导 big sur 主题分享
- Linux蓝牙耳机软件,Linux下蓝牙耳机的配置与测试
- 累次积分怎么计算_【高等数学】二重积分化累次积分方法
- Linux mysql 主从 配置
- 加号和减号在一起怎么读_加号和减号
- iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 80 -j DNAT ...
- 【2020.10.29 洛谷团队赛 普及组】T6 U138025 小武的方程
- WeX5 APP发布及版本升级注意事项
- 盘点一下分布式模式下的服务治理和监控优化方案
- 笔记本电脑键盘失灵拯救方法总结
- 【2015NOIP普及组】T4:推销员 试题解析
- windows 环境下,编译android 版opencv-4.5.5,并添加opencv_contrib-4.5.5 扩展模块
热门文章
- python 代码实现反向传播算法
- ubuntu 16:使用系统自带的中文输入法
- 3.飞机机票的价格受季节旺季、淡季的影响,头等舱与经济舱的价格也不同机票的原价为5000,4~10月为旺季, 旺季:头等舱打9折,经济舱打8折;淡季:头等舱打5折,经济舱打4折。请编写根据出行的月份和
- 错误:ssh_exchange_identification: read: connection reset by peer
- 诺基亚安卓手机无法清理后台任务
- vue中nextTick的实际应用
- 微信小程序组件、路由、组件通信、侦听器
- 机器学习:公式推导与代码实现全书代码!
- flutter 动画json_使用lottie加载json动画
- 计算机开机主机不停地重启,电脑开机一直重启怎么办