阿里云-centos7-单机安装部署redis--以及在IDEA
环境信息
-购买操作系统选择centos7(7的任何一个版本都可以),如果选错了可以在阿里云管理面板的-更多--云盘和镜像--更换操作系统。
image.png
在阿里云购买ecs-购买后机器网卡环境:
公网IP-8.134.80.143、内网IP-172.30.40.95
image.png
设置阿里云端口映射:
开放1个端口
6379:redis调用端口
配置入口-->安全组-->配置规则
点击手动添加,添加6379端口
开始安装
安装预备环境
yum install -y gcc
image.png
下载解压
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
image.png
tar -zxvf redis-5.0.3.tar.gz
编译-安装
进入目录
cd redis-5.0.3
编译-安装
make && make install PREFIX=/usr/local/redis
image.png
修改配置文件
复制
cp /root/redis-5.0.3/redis.conf /usr/local/redis/bin/
复制文件后vim进行修改,改2个参数
bind 0.0.0.0
protected-mode no
vim /usr/local/redis/bin/redis.conf
image.png
启动redis
/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
image.png
SpringBoot接入调用
引用
pom文件引入
<!--redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
配置文件application.yaml 的redis参数
内容(8.134.80.143是阿里云公网IP):
spring:
redis:
database: 0
host: 8.134.80.143
port: 6379
password:
pool:
max-active: 1000
max-wait: -1
min-idle: 1
max-idle: 40
image.png
创建redis操作和测试类
接口类-IRedisService:
import java.util.Map;
public interface IRedisService {
// 加入元素
void setValue(String key, Map<String, Object> value);
// 加入元素
void setValue(String key, String value);
// 加入元素
void setValue(String key, Object value);
// 获取元素
Object getMapValue(String key);
// 获取元素
Object getValue(String key);
}
操作实现类-RedisServiceImpl:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@Service
public class RedisServiceImpl implements IRedisService {
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Autowired
private RedisTemplate redisTemplate;
@Override
public void setValue(String key, Map<String, Object> value) {
ValueOperations<String, Object> vo = redisTemplate.opsForValue();
vo.set(key, value);
redisTemplate.expire(key, 1, TimeUnit.HOURS); // 这里指的是1小时后失效
}
@Override
public Object getValue(String key) {
ValueOperations<String, String> vo = redisTemplate.opsForValue();
return vo.get(key);
}
@Override
public void setValue(String key, String value) {
ValueOperations<String, Object> vo = redisTemplate.opsForValue();
vo.set(key, value);
redisTemplate.expire(key, 1, TimeUnit.HOURS); // 这里指的是1小时后失效
}
@Override
public void setValue(String key, Object value) {
ValueOperations<String, Object> vo = redisTemplate.opsForValue();
vo.set(key, value);
redisTemplate.expire(key, 1, TimeUnit.HOURS); // 这里指的是1小时后失效
}
@Override
public Object getMapValue(String key) {
ValueOperations<String, String> vo = redisTemplate.opsForValue();
return vo.get(key);
}
}
redis的controller测试类-RedisController:
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
public class RedisController {
@Autowired
private IRedisService iRedisService;
private String testKey = "RUEIIE000121";
@RequestMapping("redisSend")
public String send(String info){
log.info(info);
iRedisService.setValue(testKey, info);
return "发送成功";
}
@RequestMapping("redisGet")
public String get(){
String info = (String) iRedisService.getValue(testKey);
return info;
}
}
image.png
测试
启动项目
image.png测试发送数据
浏览器访问:http://localhost:8080/redisSend?info=123456
测试发送123456到redis。
测试获取数据
浏览器访问:http://localhost:8080/redisGet
测试读取redis数据。
测试成功,部署调用完成。