Springboot 连接 使用 Redis Example
通过一个简单的例子使用Springboot 连接并使用Redis。 本文假设已经安装好Redis。
1.首先将URL转换为一个ID ,并使用 StringRedisTemplate 将ID 和 URL 保存到Redis
2. 根据ID 从Redis中获取对应的URL
项目结构如下

POM文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0..RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>redis-shorterurl</artifactId>
<version>0.0.-SNAPSHOT</version>
<name>redis-shorterurl</name>
<description>Demo project for Spring Boot</description> <properties>
<java.version>1.8</java.version>
</properties> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> <!-- https://mvnrepository.com/artifact/commons-validator/commons-validator -->
<dependency>
<groupId>commons-validator</groupId>
<artifactId>commons-validator</artifactId>
<version>1.6</version>
</dependency> <dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> </project>
以及Java文件
package com.example.redisshorterurl; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
public class RedisShorterurlApplication { public static void main(String[] args) {
SpringApplication.run(RedisShorterurlApplication.class, args);
} }
package com.example.redisshorterurl; import java.nio.charset.StandardCharsets; import org.apache.commons.validator.routines.UrlValidator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import com.google.common.hash.Hashing; @RestController
public class URLShorterResource { @Autowired
StringRedisTemplate redisTemplate; @GetMapping("URL/{id}")
public String getUrl(@PathVariable String id) {
String url = redisTemplate.opsForValue().get(id);
System.out.println("URL Retrieved: " + url); if (url == null) {
throw new RuntimeException("There is no shorter URL for : " + id);
}
return url;
} @PostMapping("/create")
public String create(@RequestBody String url) {
UrlValidator urlValidator = new UrlValidator(new String[] { "http", "https" });
if (urlValidator.isValid(url)) {
String id = Hashing.murmur3_32().hashString(url, StandardCharsets.UTF_8).toString();
System.out.println("URL ID generated:" + id);
redisTemplate.opsForValue().set(id, url);
return id;
}
throw new RuntimeException("URL Invalid: " + url); } }
application.properties

之后启动Redis server

启动Springboot Application.
此时,可以用Postman测试效果。
首先, 使用 HTTP POST method 根据URL 生成一个 ID

之后,使用 ID 获取对应的 URL

Springboot 连接 使用 Redis Example的更多相关文章
- springboot连接redis进行CRUD
		
springboot连接redis进行CRUD: 1.添加以下依赖: <dependency> <groupId>org.springframework.boot</gr ...
 - springboot连接redis错误 io.lettuce.core.RedisCommandTimeoutException:
		
springboot连接redis报错 超时连接不上 可以从以下方面排查 1查看自己的配置文件信息,把超时时间不要设置0毫秒 设置5000毫秒 2redis服务长时间不连接就会休眠,也会连接不上 重 ...
 - 不会用SpringBoot连接Redis,那就赶紧看这篇
		
摘要:如何通过springboot来集成操作Redis. 本文分享自华为云社区<SpringBoot连接Redis操作教程>,作者: 灰小猿. 今天来和大家分享一个如何通过springbo ...
 - springboot+redis+虚拟机 springboot连接linux虚拟机中的redis服务
		
文章目录 1.前提条件:确保虚拟机开启.并且连接到redis 2.新建立一个springboot项目,创建项目时勾选web选项 3.在pom中引入redis依赖 4.在application.prop ...
 - springboot 连接redis
		
引入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>s ...
 - 由浅入深学习springboot中使用redis
		
很多时候,我们会在springboot中配置redis,但是就那么几个配置就配好了,没办法知道为什么,这里就详细的讲解一下 这里假设已经成功创建了一个springboot项目. redis连接工厂类 ...
 - 基于springboot+bootstrap+mysql+redis搭建一套完整的权限架构【六】【引入bootstrap前端框架】
		
https://blog.csdn.net/linzhefeng89/article/details/78752658 基于springboot+bootstrap+mysql+redis搭建一套完整 ...
 - SpringBoot中集成redis
		
转载:https://www.cnblogs.com/zeng1994/p/03303c805731afc9aa9c60dbbd32a323.html 不是使用注解而是代码调用 需要在springbo ...
 - SpringBoot入门 (七) Redis访问操作
		
本文记录学习在SpringBoot中使用Redis. 一 什么是Redis Redis 是一个速度非常快的非关系数据库(Non-Relational Database),它可以存储键(Key)与 多种 ...
 
随机推荐
- java socket 的参数选项解读
			
java socket中有很多参数可以选择,这篇博客的目的是沉淀出这些参数的语义和用法,供自己以后查阅. 1.java socket参数选项总览 在JDK1.6中有如下参数选项: public fin ...
 - WPF中实现图片文件转换成Visual对象,Viewport3D对象转换成图片
			
原文:WPF中实现图片文件转换成Visual对象,Viewport3D对象转换成图片 1.图片文件转换成Visual对象 private Visual CreateVisual(string imag ...
 - 使用Qt installer framework制作安装包(不知道是否适合Mac和Linux?)
			
一.介绍 使用Qt库开发的应用程序,一般有两种发布方式:(1)静态编译发布.这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中.其优势是简单单一,所有的依赖库都集中在一起,其缺点也很 ...
 - debian 下py2.7 安装mysql模块
			
先安装pip 然后用pip安装 setuptools 安装模块的时候会报错 python setup.py install sh: mysql_config: command not found Tr ...
 - 关于Hibernate中hbm2java和hbm2ddl工具
			
hbm2java:根据映射文件自动生成java源文件 hbm2ddl:根据映射文件自动生成数据库的schema XDoclet:根据带有XDoclet标记的java源文件生成映射文件 Middlege ...
 - jquery 标签页
			
<!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...
 - js 动态生成div显示id
			
<!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...
 - MVC 自定义路由规则
			
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mv ...
 - ASP.NET MVC 学习笔记1 Talk about controller & route
			
For the sake of learning programming better, I'd like to increase the frequency of using English. So ...
 - SQLServer 服务器架构迁移
			
原文:SQLServer 服务器架构迁移 最近服务器架构迁移,将原来的服务器架构迁移到新的服务器,新的服务器在硬件方面比之前更好!原来服务器使用双向同步,并且为水平划分到多个数据库服务器.迁移过程中, ...