Springboot 框架下操作redis,并建立redis工具类

一、通过idea建立一个springboot项目

1.File-New-Project--SpringInitializr--Next

持续点击下一步即可。

二、建立包

需了解知识点:Redis5种基本数据类型:String/list/set/zset/hash;zset与set的区别在于zset可以排序但它们都不允许有重复值存在。

1、SpringBoot集成Redis

1.1新增配置文件信息

########################################################
###Redis (RedisConfiguration)
########################################################
spring.redis.database=0
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=123456
spring.redis.pool.max-idle=8
spring.redis.pool.min-idle=0
spring.redis.pool.max-active=8
spring.redis.pool.max-wait=-1
spring.redis.timeout=5000

注意事项:

1、在使用时要先关闭防火墙,或者设置允许访问端口。本人这里使用关闭防火墙操作,防火墙操作项目命名:

1:查看防火状态
systemctl status firewalld
service  iptables status
2:暂时关闭防火墙
systemctl stop firewalld
service  iptables stop
3:永久关闭防火墙
systemctl disable firewalld
chkconfig iptables off
4:重启防火墙
systemctl enable firewalld
service iptables restart  
5:永久关闭后重启
//暂时还没有试过
chkconfig iptables on

2.修改redis配置文件:

vi redis.conf
注释以下绑定的主机地址,允许所有ip进行访问
# bind 127.0.0.1
或者设定允许访问ip:
bind 192.168.1.69
2、修改redis服务器的参数配置
修改redis的守护进程为no ,不启用
127.0.0.1:6379> config set daemonize "no"
OK
修改redis的保护模式为no,不启用
127.0.0.1:6379> config set protected-mode "no"

操作如下:用vi打开redis.conf文件后,在命令行下输入“/protected-mode”,修改 protected-mode  yes 改为:protected-mode no;其余修改同理进行操作。切记修改完成后保存并重启redis服务

项目包结构如下:

java service层代码如下:

@Service
public class RedisService {
    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    public void setObject(String key, Object value) {
        this.setObject(key, value, null);
    }

    public void setObject(String key, Object value, Long time) {
        if (StringUtils.isEmpty(key) || value == null) {
            return;
        }
        if (value instanceof String) {
            // 存放string类型
            String stringValue = (String) value;
            if (time == null) {
                stringRedisTemplate.opsForValue().set(key, stringValue);
            } else {
                stringRedisTemplate.opsForValue().set(key, stringValue, time, TimeUnit.SECONDS);
            }

            return;
        }
        if (value instanceof List) {
            // 存放list類型
            List<String> listValue = (List<String>) value;
            for (String string : listValue) {
                stringRedisTemplate.opsForList().leftPush(key, string);
            }

        }

    }

    public void delKey(String key) {
        stringRedisTemplate.delete(key);
    }

    public String getString(String key) {
        return stringRedisTemplate.opsForValue().get(key);
    }

} 

java控制层代码

package com.cyb.controller;

import com.cyb.service.RedisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class RedisController {
    @Autowired
    private RedisService redisService;

    @RequestMapping("/setString")
    public String setString(String key){
       String string="测试新增String类型";
        redisService.setObject(key,string);
        return "成功";

    }
    @RequestMapping("/getString")
    public String getString(String key){
        String result=redisService.getString(key);
        return "获取redis中的数据成功,值为:"+result;
    }
}

效果如下:

以上工具类方法还未写完,主要提供思想,感兴趣的博友可以写完测试。以上工具类代码来源于蚂蚁课堂,对架构感兴趣的朋友可以前往蚂蚁课堂:http://www.mayikt.com/。另对以上博客知识有疑问的朋友欢迎留言探讨。转发请说明出处:https://www.cnblogs.com/chenyuanbo/

原文地址:https://www.cnblogs.com/chenyuanbo/p/11605641.html

时间: 2024-10-09 09:08:02

Springboot 框架下操作redis,并建立redis工具类的相关文章

spring-boot框架下的websocket服务

这几天在做web端实时展示服务端日志文件新增内容的功能.要满足实时的需求,我选择的方案是在web端跟服务端建立一个websocket链接,由服务端通过tail -f 命令将文件新增内容发送给web端. 关于websocket的介绍,可以参考这篇博文:http://www.cnblogs.com/lizhenghn/p/5155933.html(链接仅用于学习交流,如有版权问题请及时告知).这里我主要想介绍的是在spring-boot框架下如何发布websocket服务. 一.在服务端发布webs

Redis Java客户端jedis工具类以及Redis实现的跨jvm的锁

Redis Java客户端jedis工具类以及Redis实现的跨jvm的锁 最近项目中使用redis,学习了一下,client端使用jedis-2.1.0 首先是一个redis实现的跨jvm的lock, 接着是一个简单封装的工具类,也对pipeline处理进行了几个常用的封装 然后是对应Spring的相关配置 Java代码   public class RedisLock { /** 加锁标志 */ public static final String LOCKED = "TRUE";

在springBoot框架下使用druid+myBatisPlus实现多数据源(不同模块不同数据源)

1.idea新建多模块springBoot项目 父项目使用maven的方式创建 创建完成 删掉src目录 新增子模块使用springBoot initializer插件创建 按以上步骤再建module2 和 main 因为父项目用的是maven方式 所以自己修改父项目pom文件 增加druid.mybatisPlus等依赖和module标签 以下是修改后的parent 的pom文件 <?xml version="1.0" encoding="UTF-8"?&g

Java Redis 连接池 Jedis 工具类

import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import java.io.IOException; import java.io.InputStream; import java.util.Prop

PHP中将对数据库的操作,封装成一个工具类以及学会使用面向对象的方式进行编程

<?php class SqlTool { //属性 private $conn; private $host="localhost"; private $user="root"; private $password="root"; private $db="test"; function SqlTool(){ $this->conn=mysql_connect($this->host,$this->u

ASP.NET:分享一个操作SQL Server数据库的工具类

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Collections; 6 using System.Data.SqlClient; 7 8 public class DatabaseHelper 9 { 10 private string connectionString = Constants.ConnectionURL;

SpringBoot框架学习(一)

我没什么时间来认认真真写一个系列,只能把日常学到的东西总结巩固一下. 这篇内容: 1.自我理解的SpringBoot使用感悟. 2.一些注解的理解. 3.restful风格 4.微服务与SpringCloud 1.SpringBoot使用感悟 SpringBoot框架我才刚刚实现hello world!的程度,但是在学习该框架的过程中我对Spring框架以及注解技术有了更深层次的理解. Spring框架的控制反转.AOP在极大的减小了开发压力,实用配置文件设置依赖关系既实现了解耦,也提高了开发效

框架下一键化测试工具

切目录输任务编号太烦了,就写了个这个 1 #!/usr/bin/python 2 # -*- coding: utf-8 -*- 3 # __author__ = "JieYao" 4 5 import os 6 import string 7 import argparse 8 import shutil 9 import json 10 import time 11 import subprocess 12 13 usage = "该程序为框架下Tool的一键化测试工具,

Java操作Oracle数据库自建工具库

在学习Java操作Oracle数据库的时候,忽然想到这个可不可以像php那样自己建立一个工具类,这样的话可以大大的减小代码的复杂度.也可以提高工作效率. java如果不能自己建立工具类,那是非常可笑的,但是,在建立的过程中,出现了一些问题,希望在以后不要犯类似的错误. 首先,我们在自建工具类之前必然是先模拟测试的,在这个例子当中,其过程如下: 1:引入Oracle的驱动程序 2:建立OracleTools类,并且定义其成员变量. 3:写OracleTools类的成员方法和构造函数. 4:如果全部