Spring data redis的使用

一、Redis的安装和使用

Redis是用C语言开发的一个高性能键值对数据库,可用于数据缓存,主要用于处理大量数据的高访问负载。

下载地址:https://github.com/MicrosoftArchive/redis/releases

解压后:在当前地址栏输入cmd后,执行redis的启动命令:redis-server.exe redis.windows.conf

二、整合Redis

  • 添加项目依赖
    <!--redis依赖配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
  • 修改SpringBoot的配置文件

    redis:
    host: localhost # Redis服务器地址
    datasource: 0 # Redis数据库索引(默认为0)
    port: 6379 # Redis服务器连接端口
    password: # Redis服务器连接密码(默认为空)
    jedis:
    pool:
    max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
    max-wait: -lms # 连接池最大阻塞等待时间(使用负值表示没有限制)
    max-idea: 8 # 连接池中的最大空闲连接数
    min-idea: 0 # 连接池中的最小空闲连接
    timeout: 3000ms # 连接超时时间(毫秒)
  • 添加RedisService接口用于定义一些常用的Redis操作

    package top.xtslife.mall.service;
    
    /**
    * redis操作Service
    * 对象和数组都以json的形式进行存储
    * @Author 小涛
    * @Create 2019/8/10 11:12
    */
    public interface RedisService {
    /**
    * 存储数据
    */
    void set(String key, String value); /**
    * 获取数据
    */
    String get(String key); /**
    * 设置超期时间
    */
    boolean expire(String key, long expire); /**
    * 删除数据
    */
    void remove(String key); /**
    * 自增操作
    * @param key
    * @param delta 自增步长
    * @return
    */
    Long increment(String key, long delta);
    }
  • 注入StringRedisTemplate,实现RedisService接口

    package top.xtslife.mall.service.impl;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.data.redis.core.StringRedisTemplate;
    import org.springframework.stereotype.Service;
    import top.xtslife.mall.service.RedisService; import java.util.concurrent.TimeUnit; /**
    * redis操作service的实现类
    * @Author 小涛
    * @Create 2019-08-10 11:17
    */
    @Service
    public class RedisServiceImpl implements RedisService {
    @Autowired
    private StringRedisTemplate stringRedisTemplate; @Override
    public void set(String key, String value) {
    stringRedisTemplate.opsForValue().set(key, value);
    } @Override
    public String get(String key) {
    return stringRedisTemplate.opsForValue().get(key);
    } @Override
    public boolean expire(String key, long expire) {
    return stringRedisTemplate.expire(key,expire,TimeUnit.SECONDS);
    } @Override
    public void remove(String key) {
    stringRedisTemplate.delete(key);
    } @Override
    public Long increment(String key, long delta) {
    return stringRedisTemplate.opsForValue().increment(key, delta);
    }
    }

    --先简单的到这里,后面继续补充完善

Spring data redis的使用的更多相关文章

  1. spring data redis RedisTemplate操作redis相关用法

    http://blog.mkfree.com/posts/515835d1975a30cc561dc35d spring-data-redis API:http://docs.spring.io/sp ...

  2. spring mvc Spring Data Redis RedisTemplate [转]

    http://maven.springframework.org/release/org/springframework/data/spring-data-redis/(spring-data包下载) ...

  3. Spring Data Redis简介以及项目Demo,RedisTemplate和 Serializer详解

    一.概念简介: Redis: Redis是一款开源的Key-Value数据库,运行在内存中,由ANSI C编写,详细的信息在Redis官网上面有,因为我自己通过google等各种渠道去学习Redis, ...

  4. Spring Data Redis—Pub/Sub(附Web项目源码)

    一.发布和订阅机制 当一个客户端通过 PUBLISH 命令向订阅者发送信息的时候,我们称这个客户端为发布者(publisher). 而当一个客户端使用 SUBSCRIBE 或者 PSUBSCRIBE ...

  5. Spring data redis的一个bug

    起因 前两天上线了一个新功能,导致线上业务的缓存总是无法更新,报错也是非常奇怪,redis.clients.jedis.exceptions.JedisConnectionException: Unk ...

  6. Spring Data Redis—Pub/Sub(附Web项目源码) (转)

    一.发布和订阅机制 当一个客户端通过 PUBLISH 命令向订阅者发送信息的时候,我们称这个客户端为发布者(publisher). 而当一个客户端使用 SUBSCRIBE 或者 PSUBSCRIBE ...

  7. spring data redis 理解

    前言 Spring Data Redis project,应用了Spring概念来开发使用键值形式的数据存储的解决方案.我们(官方)提供了一个 "template" ,这是一个高级 ...

  8. Spring Data Redis 详解及实战一文搞定

    SDR - Spring Data Redis的简称. Spring Data Redis提供了从Spring应用程序轻松配置和访问Redis的功能.它提供了与商店互动的低级别和高级别抽象,使用户免受 ...

  9. Spring Data Redis 让 NoSQL 快如闪电(2)

    [编者按]本文作者为 Xinyu Liu,文章的第一部分重点概述了 Redis 方方面面的特性.在第二部分,将介绍详细的用例.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 把 Redis ...

  10. Spring Data Redis 让 NoSQL 快如闪电 (1)

    [编者按]本文作者为 Xinyu Liu,详细介绍了 Redis 的特性,并辅之以丰富的用例.在本文的第一部分,将重点概述 Redis 的方方面面.文章系国内 ITOM 管理平台 OneAPM 编译呈 ...

随机推荐

  1. verilog语法标准

    initial 中语句超过一需要添加begin和end: 1995 2001 介绍了当用逗号分隔敏感列表更方便构成事件控制表达式的选择条件: 2005 2001/2005语法标准,没有类型定义的任何标 ...

  2. NOIP 2011 铺地毯

    洛谷 P1003 铺地毯 洛谷传送门 JDOJ 1744: [NOIP2011]铺地毯 D1 T1 JDOJ传送门 Description 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看 ...

  3. 为了Runtime Broke 关了一堆东西

    可是,好像还是不行啊?CPU还是用了 10-20% 还得写这个随笔,怕自己关东西关多了,以后还得回复. https://www.drivereasy.com/knowledge/runtime-bro ...

  4. vue组件通信传值——Vuex

    一.Vuex介绍 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. Vuex 也集成到 Vu ...

  5. 赞!这款国产的SSH工具,好用到爆!

    之前分享 MobaXterm 时 有小伙伴留言说到了 FinalShell 我本来是一脸蒙蔽的 网上搜了一下 它们家的官网 打开官网 我一度怀疑自己进错了网站 简单(jianlou)的排版 像极了上个 ...

  6. weblogic 12c 安装与下载

    转   一.WebLogic的介绍     WebLogic是美国bea公司出品的一个application server,确切的说是一个基于Javaee架构的中间件,纯java开发的,最新版本Web ...

  7. Python连载22-调试&单元测试

    一.调试技术 (1)调试流程​:单元测试->集成测试->交测试部 (2)分类:i.静态调试(说白了就是看代码,看看有没有错):ii.动态测试 1.pdb调试 ​相关连接:https://b ...

  8. pip 设置阿里云源

    在~/.pip/pip.conf文件中添加或修改 mkdir ~/.pip [global] index-url = http://mirrors.aliyun.com/pypi/simple/ [i ...

  9. 【模板】gcd和exgcd

    1. gcd: int gcd(int a,int b) { return !b?a:gcd(b,a%b); } exgcd: int exgcd(int a,int b,int& x,int ...

  10. Topshelf + QuartzNet 实现挂载在 WIndows Services 中的定时任务

    直接贴代码了: 首先我们可以把所有的 Job 放到一个单独的 DLL 中,好处是可以共享这些业务 Job.比如我们新建一个 QuartzNetDemo.WinService.Jobs 的类库. 然后, ...