redis与Java交互
创始人
2024-02-20 22:01:08
0

可以直接导入Jedis框架,它能够实现Java与Redis数据库的交互


   
        redis.clients
        jedis
        4.0.0
   

public static void main(String[] args) {//创建Jedis对象Jedis jedis = new Jedis("localhost", 6379);//使用之后关闭连接jedis.close();
}

jedis的方法与redis的命令基本相同,如果想执行redis命令只需执行相应的方法

public static void main(String[] args) {try(Jedis jedis = new Jedis("localhost", 6379)){jedis.hset("person", "name", "sxc");   //等同于 hset hhh name sxcjedis.hset("person", "sex", "19");    //等同于 hset hhh age 19jedis.hgetAll("hhh").forEach((k, v) -> System.out.println(k+": "+v));}
}

SpringBoot整合Redis

导入相应的starter,它底层没有用Jedis,而是Lettuce


    org.springframework.boot
    spring-boot-starter-data-redis

starter提供的默认配置会去连接本地的Redis服务器,并使用0号数据库,可以手动进行修改配置

spring:
  redis:
      #Redis服务器地址
    host: localhost
    #端口
    port: 6379
    #使用几号数据库
    database: 0

starter已经提供了两个默认的模板类,StringRedisTemplate和RedisTemplate

可以直接注入StringRedisTemplate来使用模板

@ResourceStringRedisTemplate template;@Testpublic void contextLoads() {Set keys = template.keys("*");assert keys != null;keys.forEach(System.out::println);}

由于Spring没有专门的Redis事务管理器,但可以用JDBC提供的


    org.springframework.boot
    spring-boot-starter-jdbc


    mysql
    mysql-connector-java

@Service
public class RedisService {@ResourceStringRedisTemplate template;@PostConstructpublic void init(){template.setEnableTransactionSupport(true);   //需要开启事务}@Transactional    //需要添加此注解public void test(){template.multi();template.opsForValue().set("a", "1");template.exec();}
}

序列化存储对象时注意要实现Serializable接口

也可以为RedisTemplate对象配置一个Serializer来实现对象的JSON存储,要导入jackson-bind包

//注意Student需要实现序列化接口才能存入Redistemplate.opsForValue().set("student", new Student());System.out.println(template.opsForValue().get("student"));

相关内容

热门资讯

【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
牛客计算器的改良(Python... 文章目录1.题目描述2.输入描述:3.输出描述:4.示例15.分析6.代码7.结语 链接࿱...
【前端】‘??‘与‘||‘有什... 0 问题 经常写const data = res.data.a ?? ''或者const d...
正大杯|市调大赛|2023备赛... 关键信息 同时随着精细化养宠趋势的深入,宠物消费类目日渐丰富。 本报告通过 Niuco...
文本生成视频Make-A-Vi... Meta公司(原Facebook)在今年9月29日首次推出一款人工智能系...