当前位置: 首页 > article >正文

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 不直接支持的。


http://www.kler.cn/news/314131.html

相关文章:

  • 【HTTP】构造HTTP请求和状态码
  • [译] Go语言的源起,发展和未来
  • Rust语言入门第七篇-控制流
  • Highcharts甘特图基本用法(highcharts-gantt.js)
  • 安装黑群晖系统,并使用NAS公网助手访问教程(好文)
  • 【系统架构设计师】虚拟机架构风格
  • 十五、差分输入运算放大电路
  • C++——模板初阶
  • 网页聊天——测试报告——Selenium自动化测试
  • 分类预测|2024年最新优化算法鹦鹉优化器PO|基于鹦鹉优化SVM支持向量机数据分类预测Matlab程序PO-SVM
  • 2024年9月python二级易错题和难题大全(附详细解析)(五)
  • allWebPlugin中间件自定义alert、confirm及prompt使用
  • 力扣1143-最长公共子序列(Java详细题解)
  • 分布式光伏发电系统如何确保电能质量达到并网要求?
  • Tiny-universe学习笔记1:Qwen-blog
  • 数据飞轮:打造业务增长的持续循环
  • C++——string的了解和使用
  • 相见恨晚的一本书《纳瓦尔宝典:财富与幸福指南》
  • 内网渗透- 内网渗透的基本知识
  • 【物联网】时序数据库InfluxDB解析及1.x版本与2.x版本区别详解
  • Docker 笔记
  • java计算字符串中大写字母的个数
  • 30道常见的软件测试面试题(含答案+文档)
  • 【若依框架】按时间查询数据的操作
  • VScode 使用Code Runner 运行输出控制台中文乱码解决
  • Qt中的延时
  • 基于TCP实现聊天
  • Spring中的Web Service消费者集成(应该被淘汰的技术)
  • c++实现类
  • React基础教程(10):React Hooks