1、分布式缓存Redis介绍
     简介:讲解为什么要用缓存和介绍什么是Redis,新手练习工具

  

1、redis官网 https://redis.io/download
    
     2、新手入门redis在线测试工具:http://try.redis.io/

2、源码编译安装Redis4.x
     简介:使用源码安装Redis4.x和配置外网访问

1、快速安装  https://redis.io/download#installation
             wget http://download.redis.io/releases/redis-4.0.9.tar.gz
             tar xzf redis-4.0.9.tar.gz
             cd redis-4.0.9
             make

启动服务端:src/redis-server
             启动客户端:src/redis-cli

2、默认是本地访问的,需要开放外网访问
         1)打开redis.conf文件在NETWORK部分修改
            注释掉bind 127.0.0.1可以使所有的ip访问redis
            修改 protected-mode,值改为no

3、SpringBoot2.x整合redis实战讲解

简介:使用springboot-starter整合reids实战

1、官网:https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#boot-features-redis
             集群文档:https://docs.spring.io/spring-data/data-redis/docs/current/reference/html/#cluster

2、springboot整合redis相关依赖引入
             <dependency>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-starter-data-redis</artifactId>
             </dependency>
        
         3、相关配置文件配置
             #=========redis基础配置=========
             spring.redis.database=0
             spring.redis.host=127.0.0.1
             spring.redis.port=6379
             # 连接超时时间 单位 ms(毫秒)
             spring.redis.timeout=3000

#=========redis线程池设置=========
             # 连接池中的最大空闲连接,默认值也是8。
             spring.redis.pool.max-idle=200

#连接池中的最小空闲连接,默认值也是0。
             spring.redis.pool.min-idle=200
            
             # 如果赋值为-1,则表示不限制;pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。
             spring.redis.pool.max-active=2000

# 等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时
             spring.redis.pool.max-wait=1000

4、常见redistemplate种类讲解和缓存实操(使用自动注入)

1、注入模板
             @Autowired
             private StirngRedisTemplate strTplRedis

2、类型String,List,Hash,Set,ZSet
             对应的方法分别是opsForValue()、opsForList()、opsForHash()、opsForSet()、opsForZSet()

代码示例:

RdisTestController.java:

 package net.xdclass.base_project.controller;

 import net.xdclass.base_project.domain.JsonData;

 import org.json.JSONObject;
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.RequestMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
@RequestMapping("/api/v1/redis")
public class RdisTestController { @Autowired
private StringRedisTemplate redisTpl; //jdbcTemplate @GetMapping(value="add")
public Object add(){ //opsForValue : Returns the operations performed on simple values (or Strings in Redis terminology). redisTpl.opsForValue().set("name", "xdclass2018"); return JsonData.buildSuccess(); } @GetMapping(value="get")
public Object get(){ String value = redisTpl.opsForValue().get("name");
return JsonData.buildSuccess(value); } }

4、Redis工具类封装讲解和实战
     简介:高效开发方式 Redis工具类封装讲解和实战
         1、常用客户端 https://redisdesktop.com/download
         2、封装redis工具类并操作

装入对象:

     @GetMapping(value="save_user")
public Object saveUser(){
User user = new User(1,"abc","11",new Date());
//String value = redisTpl.opsForValue().get("name");
String userStr = JsonUtils.obj2String(user);
boolean flag = redis.set("base:user:11", userStr);
return JsonData.buildSuccess(flag); } @GetMapping(value="find_user")
public Object findUser(){ String userStr = redis.get("base:user:11");
User user = JsonUtils.string2Obj(userStr, User.class); return JsonData.buildSuccess(user); }
base:user:11该命名方法的内容在可视化工具中会以文件夹形式展示
浏览器输入:http://localhost:8080/api/v1/redis/save_user

取值:

浏览器输入:http://localhost:8080/api/v1/redis/find_user

返回结果:

												

SpringBoot2.x整合Redis实战 4节课的更多相关文章

  1. 小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_39、SpringBoot2.x整合redis实战讲解

    笔记 3.SpringBoot2.x整合redis实战讲解 简介:使用springboot-starter整合reids实战 1.官网:https://docs.spring.io/spring-bo ...

  2. 小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_40、Redis工具类封装讲解和实战

    笔记 4.Redis工具类封装讲解和实战     简介:高效开发方式 Redis工具类封装讲解和实战         1.常用客户端 https://redisdesktop.com/download ...

  3. 小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_37、分布式缓存Redis介绍

    笔记 1.分布式缓存Redis介绍      简介:讲解为什么要用缓存和介绍什么是Redis,新手练习工具          1.redis官网 https://redis.io/download   ...

  4. 小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_38、源码编译安装Redis4.x

    笔记 2.源码编译安装Redis4.x     简介:使用源码安装Redis4.x和配置外网访问 1.快速安装  https://redis.io/download#installation      ...

  5. 【SpringBoot】整合Redis实战

    ========================9.SpringBoot2.x整合Redis实战 ================================ 1.分布式缓存Redis介绍 简介: ...

  6. centos mysql 实战 第一节课 安全加固 mysql安装

    centos mysql  实战  第一节课   安全加固  mysql安装 percona名字的由来=consultation 顾问+performance 性能=per  con  a mysql ...

  7. 11、Logback日志框架介绍和SpringBoot整合实战 2节课

    1.新日志框架LogBack介绍     简介:日志介绍和新日志框架Logback讲解 1.常用处理java的日志组件 slf4j,log4j,logback,common-logging 等     ...

  8. SpringBoot2.0 整合 Redis集群 ,实现消息队列场景

    本文源码:GitHub·点这里 || GitEE·点这里 一.Redis集群简介 1.RedisCluster概念 Redis的分布式解决方案,在3.0版本后推出的方案,有效地解决了Redis分布式的 ...

  9. Springboot2.0整合Redis(注解开发)

    一. pom.xm文件引入对应jar包 <dependency> <groupId>org.springframework.boot</groupId> <a ...

随机推荐

  1. BZOJ4723[POI2017]Flappy Bird——模拟

    题目描述 <飞扬的小鸟>是一款风靡的小游戏.在游戏中,小鸟一开始位于(0,0)处,它的目标是飞到横坐标为X的某个位置 上.每一秒,你可以选择点击屏幕,那么小鸟会从(x,y)飞到(x+1,y ...

  2. HDU5399-多校-模拟

    Too Simple Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total ...

  3. day13 生成器 三元运算 列表解析

    本质上来说生成器迭代器都是一种数据类型,如果你直接打印生成器是无法得出值的,会得到一串内存地址,即一个对象想要得到生成器的值必须要用for或者next,list等来获取 生成器生成器就是一个可迭代对象 ...

  4. 【Gym - 101164I】Cubes(dfs,剪枝)

    BUPT2017 wintertraining(15) #4 A - I.Cubes Gym - 101164I 题意 将n拆成最少个立方数相加的形式. 题解 根据n的范围,立方数最大不超过400的立 ...

  5. 【HDU 5363】Key Set(和为偶数的子集个数)

    题 Description soda has a set $S$ with $n$ integers $\{1, 2, \dots, n\}$. A set is called key set if ...

  6. 在 Linux 上安装配置 BitTorrent Sync [转]

    背景介绍:目前我们线上的前端服务器数量比较多,超过200多台,每次发布新应用的时候,都是将软件包放在一台专门的Push服务器上,再由所有的前端服务器通过rsync自动同步.但随着前端服务器的数量越来越 ...

  7. Python向来以慢著称,为啥Instagram却唯独钟爱它?

    PyCon 是全世界最大的以 Python 编程语言 为主题的技术大会,大会由 Python 社区组织,每年举办一次.在 Python 2017 上,Instagram 的工程师们带来了一个有关 Py ...

  8. [JOI2017] サッカー (Soccer)

    原题题面看不懂的可以看下面的\(CJ\)版中文题面 $ $ \(CJ\)版: $ $ 这道题是\(JOI\)的\(T4\),放到联赛大概就是\(Day2,T3\)的难度 $ $ \(5\)分: 这一档 ...

  9. 【BZOJ1880】[Sdoi2009]Elaxia的路线(最短路)

    [BZOJ1880][Sdoi2009]Elaxia的路线(最短路) 题面 BZOJ 洛谷 题解 假装我们知道了任意两点间的最短路,那么我们怎么求解答案呢? 不难发现公共路径一定是一段连续的路径(如果 ...

  10. 分别用postman和python做post请求接口功能测试

    前几天,在做一个post请求的接口功能测试的时候,发现数据始终无法入库, 认真加仔细检查了请求的url.方式.参数,均没有问题 找到技术确认,原来是需要传json格式数据 在头信息中加上类型,body ...