【问题标题】:How to append two value to one key using Redis Spring Data如何使用 Redis Spring Data 将两个值附加到一个键
【发布时间】:2018-07-29 17:16:49
【问题描述】:

我使用 redis 缓存我的项目,但我遇到了问题。我有模型学生和写入方法将其放入redis。第一种方法我在一周内写入 findStudent 并将其放入缓存。

public void findStudentOneWeek(List<Student> students1) {
    redistemplate.opsForHash().put("Student", student.getId(), List<Customers>);
}

我写的第二种方法 findStudent 一天。

public void findStudentOneDay(List<Student> students2) {
    redistemplate.opsForHash().put("Student", student.getId(), List<Customers>);
}

但我想要从 8 天开始的总用户。这意味着我想按住一个键 Student 但新值等于总值方法 findStudentOneWeek + 总值方法 findStudentOneDay。但我现在不知道该怎么做。我找不到工作的方法。我知道从 redis 放置的方法,但它会删除旧值并保存新值。我不想要它。我想要总价值。

【问题讨论】:

  • 这意味着:我想要两个方法redis使用一个键的总值。如果我使用 put 它删除旧值(一周的值)并添加新值(一天的值)。总我只有一天的价值。我想要 8 天的价值。
  • 所以简单来说,您想要一个具有多个值的键,对吧?为什么不试试 redis 缓存中的 list 呢?
  • 是的。如何工作。请分享一些例子。谢谢

标签: java spring redis spring-data-redis


【解决方案1】:

首先,我假设一个错字,List&lt;Customers&gt; 应该是List&lt;Students&gt; student

redistemplate.opsForHash().put("Student", student.getId(), List<Students> students);

Spring Data 类HashOperations 的工作原理与HashMap 相似。两者都允许您通过键(以及 HashOperations 的情况下的哈希键)获取值。读取当前值List&lt;Customers&gt; 并将它们与新值一起放入模板中。

List<Students> students = redistemplate.opsForHash().get("Student", student.getId());
students2.addAll(students);
redistemplate.opsForHash().put("Student", student.getId(), students2);

【讨论】:

  • 谢谢。我有问题。什么不同的键与 hashKey.And 当我使用 hashKey 时使用 key
猜你喜欢
  • 1970-01-01
  • 2021-08-29
  • 2023-01-09
  • 1970-01-01
  • 2017-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-12
相关资源
最近更新 更多