首页 > 数据库 >【NoSQL】SpringBoot+Redis简单使用

【NoSQL】SpringBoot+Redis简单使用

时间:2024-04-01 17:36:23浏览次数:24  
标签:SpringBoot NoSQL ops void Redis ValueOperations jedis Test redisTemplate

【NoSQL】SpringBoot+Redis简单使用

Redis是一款key-value存储结构的内存级NoSQL数据库;支持多种数据存储格式、支持持久化、支持集群

windows下载:https://github.com/tporadowski/redis/releases

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
spring:
  redis:
    host: localhost
    port: 6379

根据要操作的不同数据类型使用不同的接口API

ops*:获取各种数据类型操作接口

private RedisTemplate redisTemplate;是以对象为操作的基本单元,可以指定泛型

private StringRedisTemplate stringRedisTemplate;是以字符串为操作的基本单元

在客户端操作的都是以字符串为基本单元操作的

@SpringBootTest
class RedisApplicationTest{
    @Autowired
    private RedisTemplate redisTemplate;
    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    @Test
    void set(){
		ValueOperations<String,String> ops = stringRedisTemplate.opsForValue();
        ops.set("age",41)
    }
    @Test
    void get(){
        ValueOperations<String,String> ops = stringRedisTemplate.opsForValue();
        Object age = ops.get("age");
    }

    @Test
    void set(){
        ValueOperations ops = redisTemplate.opsForValue();
        ops.set("age",41)
    }
    @Test
    void get(){
        ValueOperations ops = redisTemplate.opsForValue();
        Object age = ops.get("age");
    }
    
    @Test
    void hset(){
        ValueOperations ops = redisTemplate.opsForHash();
        ops.put("info","a","aaa")
    }

    @Test
    void hget(){
        ValueOperations ops = redisTemplate.opsForHash();
        Object info_a = ops.get("info","a");
    }
}

jedis操作客户端

lettuce默认的redis客户端实现技术

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
</dependency>
spring:
  redis:
    host: localhost
    port: 6379
    client-type: jedis
    jedis:
      pool:
        max-active: 16

lettcus与jedis区别:

jedis连接Redis服务器是直连模式,当多线程模式下使用jedis会存在线程安全问题,解决方案可以通过配置连接池使每个连接专用,这样整体性能就大受影响。

lettcus基于Netty框架进行与Redis服务器连接,底层设计中采用StatefulRedisconnection。statefulRedisconnection自身是线程安全的,可以保障并发访问安全问题,所以一个连接可以被多线程复用。当然lettcus也支持多连接实例一起工作。

标签:SpringBoot,NoSQL,ops,void,Redis,ValueOperations,jedis,Test,redisTemplate
From: https://www.cnblogs.com/lm02/p/18108975

相关文章

  • SpringBoot集成MyBatis-Plus快速入门Demo
    目录1.MyBatis-Plus概述2.MyBatis-Plus框架结构3. MyBatis-Plus快速入门3.1 创建表3.2 创建工程3.3 导入依赖3.4添加配置文件application.yml,配置数据库信息3.5 创建实体类(包括自动填充)3.6创建配置类(包括配置乐观锁、分页、逻辑删除等插件) 3.7编写自动填......
  • 在.Net中操作redis
    在.Net中操作redis一、环境.Net7redis7.2.4二、所需类包StackExchange.Redis三、连接redis信息appsettings.json配置redis连接信息//Redis配置//"Redis":{//"Default":{//"Connection":"",//连接地址,端口号,密码//"Instance......
  • 地方废物回收机构管理的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据
    本项目包含可运行源码+数据库+LW,文末可获取本项目的所有资料。推荐阅读100套最新项目持续更新中.....2024年计算机毕业论文(设计)学生选题参考合集推荐收藏(包含Springboot、jsp、ssm+vue等技术项目合集)目录1.管理员功能效果图2.员工功能3.系统功能设计4.数据库E-R图设......
  • 基于vue的MOBA类游戏攻略分享平台的设计与实现|Springboot+Vue+ Mysql+Java+ B/S结构(
    本项目包含可运行源码+数据库+LW,文末可获取本项目的所有资料。现今,越来越多的人乐于选择一项合适的管理方案,但是普通用户往往受到管理经验地限制,这时MOBA类游戏攻略分享平台的崛起,大量游戏攻略进入人们生活,而MOBA类游戏攻略制无疑是游戏攻略管理的最好制度,在这样成功的管理模......
  • CSGO赛事管理系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+
    本项目包含可运行源码+数据库+LW,文末可获取本项目的所有资料。在世界范围内,CSGO赛事管理系统已经得到了非常广泛的应用,范围变的越来越广,功能也在不断的完善,操作简便、节省人力、成本低廉,但工作的效率确一直不断的提高。为CSGO赛事行业管理全程提供自动化和全面的纪录,避免出错......
  • Higress 基于自定义插件访问 Redis
    作者:钰诚简介基于wasm机制,Higress提供了优秀的可扩展性,用户可以基于Go/C++/Rust编写wasm插件,自定义请求处理逻辑,满足用户的个性化需求,目前插件已经支持redis调用,使得用户能够编写有状态的插件,进一步提高了Higress的扩展能力。文档在插件中调用Redis[1]中提供了......
  • 【包远程安装运行】:SpringBoot实现水果蔬菜产品展示小程序源码+指导运行视频教程
    今天发布的是由【猿来入此】的优秀学员独立做的一个基于springboot脚手架的蔬菜水果的小程序系统,该系统分为小程序和后台系统。小程序功能有:产品展示、关于我们、联系我们、产品详情等。后台功能有:蔬菜水果管理、联系我们、关于我们、网站设置等。该小程序功能不多,适合......
  • 【包远程安装运行】:SpringBoot+Mysql企业人事考勤考核管理系统源码+运行视频+包运行+
    今天发布的是由【猿来入此】的优秀学员独立做的一个基于springboot脚手架的在线考核考勤管理系统,该系统除脚手架功能外具体的功能如下:管理员实现的功能有数据维护,考核日期管理,考核管理,测评表管理,统计;干部实现的功能有干部管理,考核日期管理,部门考核,干部个人考核。如果感兴......
  • SpringBoot默认内嵌数据层解决方案
    数据层解决方案常用的数据层解决方案技术选型:数据源+持久化技术+数据库:DruidDataSource+MyBatis-Plus/MyBatis+Mysql;可以使用Hikari/DruidDataSource+jdbcTemplate/MyBatis-Plus/MyBatis+Mysql/h2搭配使用内嵌:Embedded独立的服务器版本:server内置数据源HikariSpring自动......
  • 【吊打面试官系列】Redis篇 -都有哪些办法可以降低 Redis 的内存使用情况呢?
    大家好,我是锋哥。今天分享关于【都有哪些办法可以降低Redis的内存使用情况呢?】面试题,希望对大家有帮助;都有哪些办法可以降低Redis的内存使用情况呢?如果你使用的是32位的Redis实例,可以好好利用Hash,list,sortedset,set等集合类型数据,因为通常情况下很多小的Key......