网上查找的方法
方法一:idea中已经下载了Iedis 插件,
也导入了jar包
<!-- https://mvnrepository.com/artifact/commons-pool/commons-pool --> <dependency> <groupId>commons-pool</groupId> <artifactId>commons-pool</artifactId> <version>1.6</version> </dependency> <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency>
redis.conf 也做了修改 1.注释掉了127.0.0.1 pritect-model no 防火墙关了 daemonize yes
失败
Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.ConnectException: Connection refused: connect at redis.clients.jedis.Connection.connect(Connection.java:207) at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:93) at redis.clients.jedis.Connection.sendCommand(Connection.java:126) at redis.clients.jedis.Connection.sendCommand(Connection.java:121) at redis.clients.jedis.BinaryClient.ping(BinaryClient.java:106) at redis.clients.jedis.BinaryJedis.ping(BinaryJedis.java:195) at Demo1.main(Demo1.java:12) Caused by: java.net.ConnectException: Connection refused: connect at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at redis.clients.jedis.Connection.connect(Connection.java:184) ... 6 more
后来设置了密码
若运行出现了问题
127.0.0.1:6379> ping (error) NOAUTH Authentication required.
解决办法
127.0.0.1:6379> auth 111 OK
auth 后面加上你的密码就ok 了。
================================================================================================
这个楼主可是帮忙了,终于连上了(http://www.cnblogs.com/zfding/p/7966450.html)
RedisDesktopManager连接不上redis的解决方法 RedisDesktopManager是一款连接redis数据库的客户端。 背景:我是在自己机器上装的redis,使用的是虚拟机,系统是linux 版本是centeros-6.7 在使用这个连接redis的时候,发现连接不上。 第一步:在自己的本机外面试下能不能连接上虚拟机,打开cmd,使用 ping 192.168.65.128 (192.168.65.128这个为虚拟机的ip地址 查看虚拟机的ip地址:命令 ifconfig) 如果能ping的通,这个没问题,表示外部可以访问得到。访问不到可以,把虚拟机的防火墙给关了,最省事,命令: service iptables stop 第二步:在redis的配置文件(redis.conf)里面是否设置了requirepass 表示连接的密码,如果没有设置,不好意思,连接不上 第三步: 在redis的配置文件里面,是否把bind 127.0.0.1 给注释掉,如果没有,连接不上 以上这些你都做了,应该就没有问题了 如果还是连接不上,你首先在你虚拟机里面登录上redis的客户端 进入到src目录层级下面。 和启动redis一样,命令: ./redis-cli 进入到客户端之后:命令:auth 1234(你设置的密码) 看一下是否ok。 我之前在这里踩了坑,明明我的配置文件里面设置了访问密码,却没有生效,为了保险起见,还是再来看下,密码是否生效了 如果ok,那就没有问题,如果出现了错误,说你密码没有设置,那就直接用命令设置:config set requirepass 1234(这个为你设置的访密码) 然后再试下命令 auth 1234(出现ok就好了) 这样就应该可以顺利的连接上redis了。
连接时
下面是关于设置redis 的密码(https://www.cnblogs.com/756623607-zhang/p/6859540.html)
1.第一种方式 (当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后密码就会失效,)
(1)首先进入redis,如果没有开启redis则需要先开启:
[root@iZ94jzcra1hZ bin]# redis-cli -p 6379 127.0.0.1:6379>
(2)查看当前redis有没有设置密码:
127.0.0.1:6379> config get requirepass 1) "requirepass" 2) ""
(3)为以上显示说明没有密码,那么现在来设置密码:
127.0.0.1:6379> config set requirepass abcdefg OK 127.0.0.1:6379>
(4)再次查看当前redis就提示需要密码:
127.0.0.1:6379> config get requirepass (error) NOAUTH Authentication required. 127.0.0.1:6379>
2.第二种方式 (永久方式)
需要永久配置密码的话就去redis.conf的配置文件中找到requirepass这个参数,如下配置:
修改redis.conf配置文件
# requirepass foobared
requirepass 123 指定密码123
保存后重启redis就可以了
连接redis
1.redis-cli连接redis
[root@iZ2ze3zda3caeyx6pn7c5zZ bin]# redis-cli 127.0.0.1:6379> keys * (error) NOAUTH Authentication required. 127.0.0.1:6379> auth 123 //指定密码 OK 127.0.0.1:6379> keys * 1) "a" 2) "cit" 3) "clist" 4) "1" 127.0.0.1:6379>
2.Jedis连接redis
java 代码方式
//连接redis服务器,192.168.0.100:6379
jedis = new Jedis("ip", 6379);
//权限认证
jedis.auth("password");
配置文件方式
<bean id=”jedisConnectionFactory” class=”org.springframework.data.redis.connection.jedis.JedisConnectionFactory”> <property name=”hostName” value=”${redis.host}” /> <property name=”port” value=”${redis.port}” /> <property name=”password” value=”${redis.pass}” /> </bean>
redis的其他命令。
如果需要关闭redis:
[root@iZ94jzcra1hZ bin]# pkill redis
如果需要开启redis:
[root@iZ94jzcra1hZ bin]# redis-server &
加&符号的作用是为了让此进程转换为后台进程,不占用shell的服务。