准备阶段:
1、下载vm virtualBox虚拟机
2、创建好Ubuntu (重点:创建完记得设置网络连接方式为桥接)
3、进入系统以后输入一下命令下载redis的解压文件.
wget http://download.redis.io/releases/redis-2.8.17.tar.gz
://download.redis.io/releases/redis-2.8.17.tar.gz
tar xzf redis-2.8.3.tar.gz 解压到当前文件(解压完以后,如果希望放在当前目录下面可以使用rm命令转移到自己想要目录下)
然后我们进入到文件下 cd redis-2.8.3 然后进行编译 输入 make 回车
编译完成后,在Src目录下,有四个可执行文件redis-server、redis-benchmark、redis-cli和redis.conf 。 为了好找到这四个文件你可以新建 一 个文件夹然后把他们全部存到一个文件夹下.
4、启动redis服务
redis-server是开启服务的命令, reids.conf是配置redis的文件.可以使用redis-server直接开启redis命令,他会直接调用默认的reds.conf。
4、客户端连接
redis-cli 这时我们就能连接到redis了,我们可以输入ping回车,如果成功连接了的话,他会返回个pong给你,这时,我们reids就已经连接完成了。
redis配置完成以后,我们需要在java连接redis,java连接redis需要准备一个jedis的jar包,准备完成以后我们就可以直接开始撸码了.
package com.ceshi.redis;
import redis.clients.jedis.Jedis;
/**
* 测试类
* @author user
*
*/
public class JedisTest {
public static void main(String[] args) {
Jedis jedis=new Jedis("192.168.1.107",6379); // 这里输入你虚拟机的地址
jedis.auth("123456")
jedis.set("name", "javaxk"); // 设置值 //一下操作就是直接操作redis了
String value=jedis.get("name"); // 获取值
System.out.println(value);
jedis.close(); // 释放连接资源
}
}
如果连接成功就会直接输入name的值来。
连接失败的原因也有几种
1、connect time out 连接超时,可能是你虚拟机开了防火墙,导致本机连不到你的虚拟机,这时我们可以配置一下防火墙,因为redis的默认端口是6379,因此我么只要把防火墙的6379端口开放就可以解决这问题
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
1.1
如果输入以上命令出现 FirewallD is not running 的错 可能是因为防火墙没有开启。可以使用 systemctl status firewalld 命令查看防火墙状态 如果看到 Active:inactive(dead) 就是防火墙并没开启 可以使用 systemctl start firewalld 开启以后可以再使用命令去查看防火墙状态 如果出现 Active:inactive(running) 就表示已开启。
开放以后如果还是连接超时我们配置一下redis.conf这个文件,找到bind 123.0.0.1这行然后将这行注释掉.这行的意思就是绑定127.0.0.1这个ip只允许这个ip访问此redis,因此我们将其注释掉就可以解决问题.
接下再运行基本就能运行成功了!
为了增加redis连接的安全性,我们通常都会给redis设置密码,所以我们接下来就将密码也一同设置了。
进入已连接的redis客户端 输入config set requirepass 123456 设置密码为123456.这时我们连接redis就需要输入密码进行连接了。
客户端输入密码登录 输入auth 123456 返回 ok就说明登录成功了。
我们java连接
package com.ceshi.redis;
import redis.clients.jedis.Jedis;
/**
* 测试类
* @author user
*
*/
public class JedisTest {
public static void main(String[] args) {
Jedis jedis=new Jedis("192.168.1.107",6379); // 这里输入你虚拟机的地址
jedis.auth("123456");
jedis.set("name", "javaxk"); // 设置值 //一下操作就是直接操作redis了
String value=jedis.get("name"); // 获取值
System.out.println(value);
jedis.close(); // 释放连接资源
}}这样就能连接上了!