刚接触redis遇到的一些问题
因为下载的是在window环境下运行的版本,所以不需要进行虚拟机的安装和Linux的一些配置
把redis安装到C盘目录下,打开cmd窗口, 进行启动redis服务,
进入redis所在的文件夹
使用命令redis-server.exe redis.windows.conf 进行启动
然后进行编写一个小小的测试
package com.imooc.jedis;
import redis.clients.jedis.Jedis;
public class JedisDemo1 {
public static void main(String[] args) {
//1设置Ip地址和端口
Jedis jedis = new Jedis("192.168.32.130",6379);
//2保存数据
jedis.set("name", "imooc");
//3获取数据
String value= jedis.get("name");
System.out.println(value);
//释放内存
jedis.close();
}
}
这样写的话一直出现连接超时:
Exception in thread “main” redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out
at redis.clients.jedis.Connection.connect(Connection.java:164)
at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:82)
at redis.clients.jedis.Connection.sendCommand(Connection.java:100)
at redis.clients.jedis.BinaryClient.set(BinaryClient.java:99)
at redis.clients.jedis.Client.set(Client.java:29)
at redis.clients.jedis.Jedis.set(Jedis.java:72)
at com.imooc.jedis.JedisDemo1.main(JedisDemo1.java:12)
Caused by: java.net.SocketTimeoutException: connect timed out
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at redis.clients.jedis.Connection.connect(Connection.java:158)
… 6 more
一开始以为是端口没有关闭的问题,后来不是,
然后又看Ip地址, 才发现是Ip地址的错误, 刚开始写的是本机的Ip地址,
后来去查看redis文件夹下redis.windows.conf文件才发现代码中定义了一个ip
改好以后再运行:
问题解决.