- Redis官方网站:https://redis.io/download
- 下载Redis
mkdir /opt/redis
cd /opt/redis
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
如果没有安装wget,则执行:
yum -y install wget
- 安装gcc
yum install gcc
- 编译redis
tar xzf redis-6.2.6.tar.gz
make
- 配置启动项
mkdir /etc/redis
cp /opt/redis/redis.conf /etc/redis/6379.conf
vi /etc/redis/6379.conf
设置以下内容:
bind 0.0.0.0 -::1
#原本为bind 127.0.0.1,只能本机访问
daemonize yes
#原本daemonize no,用于后台启动
cp /opt/redis/redis-6.2.6/utils/redis_init_script /etc/init.d/redisd
vi /etc/init.d/redisd
- 更改实际编译的redis执行文件目录
EXEC=/opt/redis/redis-6.2.6/src/redis-server
CLIEXEC=/opt/redis/redis-6.2.6/src/redis-cli
- 设为开机启动,以及启动服务
chkconfig redisd on
service redisd start
- 开通服务器6379端口
- 测试代码
引入maven包
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
测试代码
package com.example.demo;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.exceptions.JedisConnectionException;
public class RedisTest {
private Jedis jedis = null;
private String key1 = "key1";
private String key2 = "key2";
public RedisTest() {
jedis = new Jedis("192.168.1.202", 6379);
}
public static void main(String[] args) {
RedisTest redisTest = new RedisTest();
redisTest.isReachable();
redisTest.testData();
redisTest.delData();
redisTest.testExpire();
}
public boolean isReachable() {
boolean isReached = true;
try {
jedis.connect();
jedis.ping();
// jedis.quit();
} catch (JedisConnectionException e) {
e.printStackTrace();
isReached = false;
}
System.out
.println("The current Redis Server is Reachable:" + isReached);
return isReached;
}
public void testData() {
jedis.set("key1", "data1");
System.out.println("Check status of data existing:"
+ jedis.exists(key1));
System.out.println("Get Data key1:" + jedis.get("key1"));
long s = jedis.sadd(key2, "data2");
System.out.println("Add key2 Data:" + jedis.scard(key2)
+ " with status " + s);
}
public void delData() {
long count = jedis.del(key1);
System.out.println("Get Data Key1 after it is deleted:"
+ jedis.get(key1));
}
public void testExpire() {
long count = jedis.expire(key2, 5);
try {
Thread.currentThread().sleep(6000);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (jedis.exists(key2)) {
System.out
.println("Get Key2 in Expire Action:" + jedis.scard(key2));
} else {
System.out.println("Key2 is expired with value:"
+ jedis.scard(key2));
}
}
}