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"));

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...