【问题标题】:What is Redis ValueOperations?什么是 Redis 值操作?
【发布时间】:2022-01-12 06:29:43
【问题描述】:

什么是 Spring boot 中的 Redis Value 操作? 是不是我们可以直接将键值对存储在 Redis 数据库中,而无需使用 RedisTemplate<String, Object> 创建实体和东西? 另外,如果我们使用ValueOperations,它会如何影响性能?

【问题讨论】:

    标签: spring-boot caching redis spring-data


    【解决方案1】:

    在使用 Redis 时,您应该考虑哪种数据格式/数据类型最适合您的需求,类似于使用任何通用编程语言进行编码时所做的事情。所有这些操作,ValueOperations, ListOperations, SetOperations, HashOperations, StreamOperations 是为与上述数据类型交互提供的支持。它们由RedisTemplate 提供。

    当您使用ValueOperations 时,您或多或少地将整个 Redis 实例视为一个巨大的哈希映射。例如,您可以将条目存储在 Redis 中,例如 current_user = "John Doe"。但是,您也可以做一些愚蠢的事情,例如将一个巨大的哈希图的字符串表示与一个键保持一致,top_users = <huge_string_representing_a_hash_map> 从第二种情况的角度考虑时,如果您想在提到的哈希中获取一个键的值怎么办地图。然后,如果不将整个哈希映射转移到 RAM 中,该任务或多或少变得不可能。但是,如果您使用过 Redis Hashes 和 HashOperations,那将是一项更简单的任务。

    回到您的问题,如果您想使用 ValueOperations 存储一个简单的对象。这不会降低性能。相比之下,如果您要移动巨大的地图,则会占用大量网络带宽和 RAM 容量。

    总之,请仔细选择您的 Redist 数据类型以满足您的需求。 https://redis.io/topics/data-types

    【讨论】:

    猜你喜欢
    • 2020-07-30
    • 2010-11-07
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 1970-01-01
    相关资源
    最近更新 更多