相关疑难解决方法(0)

Redis:如何使用它类似于多表

Redis似乎没有任何与关系数据库中的“表”相对应的实体。

例如,我必须存储:

(token, user_id) 

(cart_id, token, [{product_id, count}])
Run Code Online (Sandbox Code Playgroud)

如果不将这两者分开存储,则该get方法会从两者中搜索,这会造成混乱。

顺便说一句,(cart_id, token, [{product_id, count}])是购物车,redis中如何设计这样的数据结构?

redis

6
推荐指数
2
解决办法
4527
查看次数

如何为 Redis 中的数据建模以获得复杂的数据结构?

我参考了链接:http://panuoksala.blogspot.com/2015/09/redis-many-to-many.html来开发下面的代码。我已经实现了一些代码,看起来到目前为止什么都无法实现

获取用户1组:

hget User:1 Groups
Run Code Online (Sandbox Code Playgroud)

不产生结果。

我想从数据建模的角度获得更多答案。我已经对如下代码进行了建模,但它没有按照我的要求工作 -

组.java

@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@RedisHash("groups")
public class Group {
    @Id
    private Long groupId;
    private String name;

    private List<User> users;
}
Run Code Online (Sandbox Code Playgroud)

和用户.java

@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
@RedisHash("users")
public class User {
    @Id
    private Long userId;
    private String name;
    List<Group> groups;
}
Run Code Online (Sandbox Code Playgroud)

用户组测试.java

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class UserGroupTest extends RepositoryTestSupport{
    @Autowired UserRepository userRepository;
    @Autowired GroupRepository groupRepository;

    @Before
    public void setUp() {

        // User -> Group relations 
        Group group1 = Group.builder().groupId(1L).name("Nature-Group").build();
        Group …
Run Code Online (Sandbox Code Playgroud)

spring redis jedis spring-data-redis spring-boot

5
推荐指数
0
解决办法
758
查看次数

标签 统计

redis ×2

jedis ×1

spring ×1

spring-boot ×1

spring-data-redis ×1