前言

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 设置密码登录相关推荐

  1. linux下redis设置密码登录(简单易懂)

    linux下redis设置密码登录 redis设置密码访问 你的redis在真是环境中不可以谁想访问就可以访问,所以必须要设置密码 设置密码的流程如下: vim /etc/redis.conf #re ...

  2. linux下redis设置密码登录

    随时随地技术实战干货,获取项目源码.学习资料,请关注源代码社区公众号(ydmsq666) redis设置密码访问 你的redis在真是环境中不可以谁想访问就可以访问,所以必须要设置密码 设置密码的流程 ...

  3. java redis密码_Redis 设置密码登录

    前言 redis在生产环境中通常都会设置密码以保证一定的安全性,本篇文章就简单记录一下如何在redis中设置客户端登录密码. 修改redis.conf RT,打开redis.conf文件,搜索requ ...

  4. redis设置密码并修改查看的几种方式

    前言 最近正值世纪杯期间,不知道大家心目中的球队成绩如何,最近在工作中需要设置redis服务器的密码的场景 设置密码可以在很大的程度保护redis服务器,但是相关的命令需要通过密码校验之后才能使用 下 ...

  5. windows Redis设置密码和取消密码

    Redis设置密码和取消密码 一.临时设置密码 获取密码config get requirepass设置密码config set requirepass 123456当有密码的时候登录时需要密码登录a ...

  6. Ubuntu下Redis设置密码时配置文件修改密码成功但仍CONFIG GET为空问题解决摸索小记

    Ubuntu下Redis设置密码时配置文件修改密码成功但仍CONFIG GET为空问题解决摸索小记 1.问题描述 2.艰难摸索解决路途小记 (1)初遇问题try一try (2)发现问题所在 (3)问题 ...

  7. redis设置密码和取消密码

    redis设置密码和取消密码 文章目录 redis设置密码和取消密码 一.设置临时密码 二.永久设置密码 一.设置临时密码 获取密码config get requirepass 设置密码config ...

  8. windows Redis绑定ip无效,Redis设置密码无效,Windows Redis 配置不生效, Windows Redis requirepass不生效...

    windows Redis绑定ip无效,Redis设置密码无效,Windows Redis 配置不生效, Windows Redis requirepass不生效 >>>>&g ...

  9. ThinkPHP6项目基操(16.实战部分 redis+token登录)

    redis+token登录 前言 一.生成唯一token 二.设置token并返回token到前端 三.登录拦截器(需要登录/不需登录) 前言 登录一般可以使用session处理,它使用比较简单,但是 ...

最新文章

  1. [4]Telerik Grid 简单使用方法
  2. 网络安全与渗透测试工具集合
  3. MySQL单表删除重复列SQL语句
  4. 第八届“图灵杯”NEUQ-ACM程序设计竞赛个人赛——B题 小宝的幸运数组
  5. OpenCV颜色空间转换函数:cv::cvtColor介绍
  6. 关于Mysql8.0.26版本与IDEA连接的配置
  7. php if echo,多个?php if .. echo'..'; ?如何优化写法?
  8. 机器学习框架_机器学习中的概率框架
  9. 黑苹果 OC引导 big sur 主题分享
  10. Linux蓝牙耳机软件,Linux下蓝牙耳机的配置与测试
  11. 累次积分怎么计算_【高等数学】二重积分化累次积分方法
  12. Linux mysql 主从 配置
  13. 加号和减号在一起怎么读_加号和减号
  14. iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 80 -j DNAT ...
  15. 【2020.10.29 洛谷团队赛 普及组】T6 U138025 小武的方程
  16. WeX5 APP发布及版本升级注意事项
  17. 盘点一下分布式模式下的服务治理和监控优化方案
  18. 笔记本电脑键盘失灵拯救方法总结
  19. 【2015NOIP普及组】T4:推销员 试题解析
  20. windows 环境下,编译android 版opencv-4.5.5,并添加opencv_contrib-4.5.5 扩展模块

热门文章

  1. python 代码实现反向传播算法
  2. ubuntu 16:使用系统自带的中文输入法
  3. 3.飞机机票的价格受季节旺季、淡季的影响,头等舱与经济舱的价格也不同机票的原价为5000,4~10月为旺季, 旺季:头等舱打9折,经济舱打8折;淡季:头等舱打5折,经济舱打4折。请编写根据出行的月份和
  4. 错误:ssh_exchange_identification: read: connection reset by peer
  5. 诺基亚安卓手机无法清理后台任务
  6. vue中nextTick的实际应用
  7. 微信小程序组件、路由、组件通信、侦听器
  8. 机器学习:公式推导与代码实现全书代码!
  9. flutter 动画json_使用lottie加载json动画
  10. 计算机开机主机不停地重启,电脑开机一直重启怎么办