redis-web
一个简单的spring-boot-web项目,访问redis数据库,进行数据的定入,读取,及获取当前ip。
HelloController.java
package com.wjg.redistest.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.net.InetAddress;
import java.net.UnknownHostException;
/**
* created by jingang.wu on 2019/8/28
*/
@RestController
public class HelloController {
@Autowired
private RedisTemplate redisTemplate;
@RequestMapping("/set")
public String redisSet(@RequestParam("k") String k, @RequestParam("v") String v) {
redisTemplate.opsForValue().set(k, v);
return "ok";
}
@RequestMapping("/get")
public String redisGet(@RequestParam("k") String k) {
return (String) redisTemplate.opsForValue().get(k);
}
@RequestMapping("/ip")
public String ip() throws UnknownHostException {
InetAddress address = InetAddress.getLocalHost();
return address.getHostAddress(); //返回IP地址
}
}
application.properties
# 可传入环境变量更改配置
server.address=${SERVER_ADDR:0.0.0.0}
server.port=${SERVER_PORT:8001}
spring.redis.database=0
spring.redis.host=${REDIS_HOST:192.168.11.12}
spring.redis.port=${REDIS_PORT:6379}
打包后生成redis-test-0.0.1-SNAPSHOT.jar
。
redis-web Dockerfile
FROM openjdk:8-jdk
COPY ./redis-test-0.0.1-SNAPSHOT.jar /usr/local
EXPOSE 8001
ENTRYPOINT ["java", "-jar", "/usr/local/redis-test-0.0.1-SNAPSHOT.jar"]
docker-compose.yml
version: "3.4"
services:
redis-web:
image: redis-web:1.0
container_name: redis-web
restart: always
environment:
REDIS_HOST: redis-app
ports:
- 8001:8001
depends_on:
- redis-app
redis-app:
image: redis:latest
container_name: redis-app
restart: always
[root@vm02 test]# docker-compose ps
Name Command State Ports
---------------------------------------------------------------------------
redis-app docker-entrypoint.sh redis ... Up 6379/tcp
redis-web java -jar /usr/local/redis ... Up 0.0.0.0:8001->8001/tcp
注:主机外无法访问redis数据库,只能通过redis-web访问。
测试
设置值到redis
获取redis中的值