Java操控Redis (面经之 使用Redis)

操控Redis的工具 ReactiveRedisTemplate 和 RedisTemplate :

  • RedisTemplate

    • 它是一个通用的模板类,可以使用任何序列化策略来序列化和反序列化键和值。
    • 默认情况下,它使用 JdkSerializationRedisSerializer 序列化值,并使用 StringSerializer 序列化键。
    • 你可以通过设置不同的序列化器来改变序列化行为。
    • 这是一个阻塞的模板,适合于传统的同步编程模型。
  • ReactiveRedisTemplate

    • 这是一个反应式的模板类,它也是通用的,支持自定义序列化策略。
    • 它实现了 ReactiveRedisOperations 接口,提供了非阻塞的方法调用。
    • 适用于需要异步处理和高并发的场景。

opsforValue, opsforSet, opsforList 等等 对应 Java的数据结构 , 和 MySQL中的字段类型:

OpsForValue, OpsForSet, OpsForList, OpsForHash, OpsForZSet 等等都是 ReactiveRedisTemplateRedisTemplate 对象中的方法,它们分别用于操作 Redis 中不同数据类型的键值对。

以下是一些常见的 Java 数据结构以及 MySQL 数据类型与 Redis 数据类型的对应关系:

  • Value(字符串)

    • Java 数据结构:String
    • MySQL 数据类型:VARCHAR, TEXT
    • Redis 数据类型:String
  • Set

    • Java 数据结构:Set<T>(如 HashSet<String>
    • MySQL 数据类型:MySQL 没有直接的集合类型,但是可以使用多个字段或表来表示一个集合。
    • Redis 数据类型:Set(无序且元素唯一)
  • List

    • Java 数据结构:List<T>(如 ArrayList<String>
    • MySQL 数据类型:同样没有直接对应的集合类型,可能使用多个字段或关系表来实现。
    • Redis 数据类型:List
  • Hash

    • Java 数据结构:Map<K,V>(如 HashMap<String, String>
    • MySQL 数据类型:可以使用一行记录,其中包含多个列来表示一个哈希表。
    • Redis 数据类型:Hash
  • Sorted Set(有序集合)

    • Java 数据结构:可以使用带有比较器的 Set<T> 或者自定义逻辑来排序。
    • MySQL 数据类型:没有直接对应的集合类型,但可以通过添加额外的索引或者排序查询实现类似的功能。
    • Redis 数据类型:Sorted Set

需要注意的是,在 Redis 中存储的数据都是二进制安全的字符串,即使你存储的是数字或者布尔值,它们也会以字符串的形式存储。而 Java 和 MySQL 中的数据类型更加丰富,包括整型、浮点型、布尔型等,这些都是 Redis 不直接支持的。

相关推荐
杨了个杨898234 分钟前
Keepalived + Nginx + HAProxy 高可用架构部署实战案例
java·nginx·架构
kaikaile199540 分钟前
数字全息图处理系统(C# 实现)
开发语言·c#
秋92 小时前
Go语言(Golang)开发工程师全景解析:岗位职责·语言优势与使用场景·各城市薪资·发展前景·高考志愿填报(2026版)
开发语言·golang·高考
huangdong_3 小时前
1688商品图片采集技术解析:登录态处理与SKU图自动分类
开发语言
马士兵教育3 小时前
Java还有前景吗?Java+AI大模型学习路线及项目?
java·人工智能·python·学习·机器学习
chase_my_dream3 小时前
C++ + SLAM 高频面试问题整理
开发语言·c++·面试
snow@li3 小时前
Java:理解 Gradle / 后端项目的管家 / 打包SpringBoot 应用 / 完成编译、下载依赖、运行测试、打包 JAR/WAR / 速查表
java
Cloud_Shy6183 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第五章 Item 30 - 32)
开发语言·人工智能·笔记·python·学习方法
云烟成雨TD3 小时前
Spring AI 1.x 系列【57】动态工具发现:Tool Search Tool
java·人工智能·spring
zfoo-framework4 小时前
[修改代码使用]codex官方app中使用中转(不需要cc-switch) 1.config.toml 2.sk方式登录
java