Springboot 连接Redis操作及常用函数

田振*

java,Springboot,redis,redis连接

项目描述

使用Redis可视化工具连接本地/服务器Redis,常用接口/实现代码,Redis简单调用逻辑

上传时间

2023.02.20

浏览人数

290人
田振*
天津市河东区
Hot:1318

一,在Redis正确安装完毕后,使用RedisDesktopManager(redis可视化工具)连接Redis

1.本地连接

Springboot 连接Redis操作及常用函数

2.服务器连接

图示:服务器获取公网IP

Springboot 连接Redis操作及常用函数

Springboot 连接Redis操作及常用函数


二,Redis调用示例:

--------------------------------------------------------

//控制层

@GetMapping("getbooks")

public JsonMsgPojo getBooks() {

    return bookService.getBooks();

}

--------------------------------------------------------

//实现层

@Override

public JsonMsgPojo getBooks() {

    List<BookPojo> bpLi ;

    //通过关键词"getBooks" 调用redis的Value

    Object o =  redisService.get("getBooks");

    //判断

    if (o == null){  //redis中没有对应信息

        //MySql查询 

        bpLi = bookDao.getBooks();

        //把查询到的信息保存到redis中 (此时的 key为"getBooks" ,Value为bpLi)

        redisService.set("getBooks",bpLi);

    }else { //redis 有对应信息

        //为 bpLi 赋值

        bpLi = (List<BookPojo>) o ;

    }  

    return new JsonMsgPojo<>(200,"获取图书列表成功",bpLi);

}

Springboot 连接Redis操作及常用函数


Redis连接/测试成功:

Springboot 连接Redis操作及常用函数



三.Redis常用函数

--------------------------------------------------------

//常用接口和实现层代码,可直接复制调用

//接口

import org.springframework.stereotype.Service;

@Service

public interface RedisService {

    //保存数据

    boolean set(final String key, Object val);

    //保存数据 带失效时间

    boolean set(final String key, Object val, long timeAsSecond);

    //获取数据

    Object get(final String key);

    // 存值到redis的Map中

    boolean setMap(final String key, String itemKey, Object val);

    // 存值到redis的Map中 带失效时间

    boolean setMap(final String key, String itemKey, Object val, long timeAsSecond);

    // 取值 Map 所有

    Object getMap(final String key);

    // 取值 Map

    Object getMap(final String key, String itemKey);

    //删除key

    boolean deleteByKey(final String key);

    //删除Map下的指定key

    boolean deleteMap(final String key, String itemKey);

    //添加到List

    boolean setList(final String key, Object val);

    //添加到List 带失效时间

    boolean setList(final String key, Object val,long timeAsSecond);

    //获取List中所有数据

    Object getList(final String key);

    //获取list中指定索引的数据

    Object getList(final String key, long idx);

}

--------------------------------------------------------

//实现层


package com.book.newbook.service.impl;


import com.book.newbook.service.RedisService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.data.redis.core.RedisTemplate;

import org.springframework.data.redis.core.ValueOperations;

import org.springframework.stereotype.Service;


import java.io.Serializable;

import java.util.concurrent.TimeUnit;


@Service

public class RedisServiceImpl implements RedisService {

    @Autowired

    private RedisTemplate redisTemplate;

    //保存数据

    @Override

    public boolean set(String key, Object val) {

        try {

            ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();

            operations.set(key, val);

            return true;

        } catch (Exception e) {

            return false;

        }

    }

    //保存数据 带失效时间

    public boolean set(final String key, Object val, long timeAsSecond) {

        try {

            ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();

            operations.set(key, val);

            redisTemplate.expire(key, timeAsSecond, TimeUnit.SECONDS);

            return true;

        } catch (Exception e) {

            return false;

        }

    }

    //获取数据

    @Override

    public Object get(String key) {

        try {

            ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();

            return operations.get(key);

        } catch (Exception e) {

            return null;

        }

    }

    // 存值到redis的Map中

    @Override

    public boolean setMap(String key, String itemKey, Object val) {

        try {

            redisTemplate.opsForHash().put(key, itemKey, val);

            return true;

        } catch (Exception e) {

            return false;

        }

    }

    // 存值到redis的Map中 带失效时间

    @Override

    public boolean setMap(String key, String itemKey, Object val, long timeAsSecond) {

        try {

            redisTemplate.opsForHash().put(key, itemKey, val);

            redisTemplate.expire(key, timeAsSecond, TimeUnit.SECONDS);

            return true;

        } catch (Exception e) {

            return false;

        }

    }

    // 取值 Map 所有

    @Override

    public Object getMap(String key) {

        try {

            return redisTemplate.opsForHash().entries(key);

        } catch (Exception e) {

            return null;

        }

    }

    // 取值 Map

    @Override

    public Object getMap(String key, String itemKey) {

        try {

            return redisTemplate.opsForHash().get(key, itemKey);

        } catch (Exception e) {

            return null;

        }

    }

    //删除key

    @Override

    public boolean deleteByKey(String key) {

        return redisTemplate.delete(key);

    }

    //删除Map下的指定key

    @Override

    public boolean deleteMap(String key, String itemKey) {

        long deleted = redisTemplate.opsForHash().delete(key, itemKey);

        return deleted != 0 ? true : false;

    }

    //添加到List

    @Override

    public boolean setList(String key, Object val) {

        long added = redisTemplate.opsForList().rightPush(key, val);

        return added != 0 ? true : false;

    }

    //添加到List 带失效时间

    @Override

    public boolean setList(String key, Object val, long timeAsSecond) {

        long added = redisTemplate.opsForList().rightPush(key, val);

        redisTemplate.expire(key, timeAsSecond, TimeUnit.SECONDS);

        return added != 0 ? true : false;

    }

    //获取List中所有数据

    @Override

    public Object getList(String key) {

        return redisTemplate.opsForList().range(key, 0, -1);

    }


    @Override

    public Object getList(String key, long idx) {

        return redisTemplate.opsForList().range(key, 0, -1).get((int) idx);

    }


}

--------------------------------------------------------

田振*

4.9分

请保持输出!!!
Django 天津Java培训 天津Java培训班 天津Java培训哪家好?天津Java培训机构 java python ajax 天津Java培训 天津Java培训班 天津Java培训班管用吗 天津Java培训班哪家好 Java 天津Java培训 Java培训 天津编程培训 Java Java培训班 Eclipse Tomcat Git 天津Java培训 Java培训 天津编程培训 Java Java培训班 Eclipse MyEclipse IntelliJ IDEA 天津Java培训 Java培训班 Java开发 Java 天津Java开发培训 Eclipse MyEclipse 天津Java培训 天津Java开发培训 天津Java培训班 Eclipse MyEclipse 天津Java培训 天津Java开发培训 天津Java培训班 Java开发培训 C/C++ Java Python 天津Java培训 天津Java开发培训 天津Java培训班 Java开发培训 C/C++ Java Python 天津Java培训 天津Java开发培训 天津Java培训班 Java开发培训 C/C++ Java Python 天津Java培训 天津Java开发培训 天津Java培训班 Java开发培训 C/C++ Java Python 天津Java培训 天津Java开发培训 天津Java培训班 Java开发培训 C/C++ Java Python 天津Java培训 天津Java开发培训 天津Java培训班 Java开发培训 Java python web前端 天津Java培训 天津Java 培训班 天津Java培训机构 天津Java开发培训 Editplus ltraEdit Eclipse 天津Java培训 天津Java培训班 Java开发培训 Java培训机构 ps ai 天津Java培训 天津Java培训班 天津Java培训机构 Java培训 Java开发培训 java python web 天津Java培训 天津Java培训机构 天津Java培训班 天津Java培训学校 java python web 天津Java培训 天津Java培训机构 天津Java培训学校 天津Java培训哪家好 Java python web 天津Java培训 天津Java培训学校 Java python web 天津Java培训 天津Java 开发培训 天津Java开发培训机构 java python web 天津Java培训 天津Java培训机构 Java培训班 天津Java培训学校 Java python web 天津Java培训 天津Java培训班 天津Java培训机构 Java培训 Java python web 天津Java培训 天津Java培训机构 天津Java培训班 Java培训 java web python 天津Java培训 天津Java培训班 天津Java培训学校 Java培训机构 Java培训 java python web 天津Java培训 天津Java培训机构 Java培训 天津Java培训学校 java python web 天津Java培训 天津Java培训班 天津Java培训机构 Java培训学校 java python web 天津Java培训 天津Java培训班 天津Java培训学校 Java培训 java python web 天津Java培训 天津Java配训学校 Java培训 java web python 天津Java培训 天津Java培训班 Java培训机构 Java培训 Java python web 天津Java培训 天津Java培训班 天津Java培训机构 Java培训 java python web 天津Java培训 天津Java培训班 天津Java培训机构 java python web 天津Java培训 天津Java培训班 天津Java培训机构 Java web python 天津Java培训 天津Java培训学校 Java培训 java web python 天津Java培训 天津Java培训机构 Java培训 java web python 天津Java培训 天津Java培训机构 Java培训 java web python 天津Java培训 天津Java培训机构 Java培训 java web python 天津Java培训 天津Java培训班 Java培训 java web python 天津Java培训 天津Java培训班 Java培训机构 java python web 天津Java培训 天津Java培训哪家好
田振*    1318 天津市河东区 设计师杨冰是女孩 1987.**.**
本网站已在中国版权保护中心登记了美术作品著作权与软件著作权违者将依法追究责任,特此声明! | Copyright©2013-2022,zhuzuoji.com | 诚筑说培训学校(天津)有限公司内容支持 | 京ICP备17020986号-5