performance - Redis 缓存读取性能 - 根键/值对与层次结构?

标签 performance redis

假设我想存储用户偏好...像这样简单的东西:

{
    "favoriteColor": "green",
    "bestFriends": [
        "Tom",
        "Jenny",
        "Horton"
    ]
}

将其存储在 Redis 缓存中(针对读取进行了优化)的最佳、最高效的方法是什么?

假设 UserId = 123

注意:下面我使用 Redis 文档的方式来表示各种结构。参见 here .

  1. 就在根中的简单、扁平、键/值对?

    user-123-favoriteColor = green (this is a STRING type)<br/> user-123-bestFriends = 1) "bestFriends" (SET TYPE) 2) "Tom" 3) "Jenny" 4) "Horton"

  2. 层次结构(值的散列)

    user-123 = 1) "favoriteColor" (STRING type) 2) "green" 3) "bestFriends" (SET TYPE) 4) "Tom" 5) "Jenny" 6) "Horton"

还有一个相关的问题...是否有任何理由不将用户首选项存储在 redis 与域 sql 数据库中?

还有一个相关的问题……将所有用户存储在一个名为“users”的根键下是不是一个坏主意?

最佳答案

应优先采用层次结构。
answer给出了很多解释并帮助了我。

关于performance - Redis 缓存读取性能 - 根键/值对与层次结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38927413/

相关文章:

database - 在相对大的数据上将 grace_period 更改为 0 后,Cassandra 压缩过程会有多重?

performance - Ping 功能使整个 Excel 表变慢/无响应

performance - 使用具有静态函数的类与实例化类之间的性能差异很大吗?

mysql - 你能用一个查询创建多级数组吗?

node.js - ioredis 按模式删除所有键

mysql - 有什么比在 MySQL 中连接表更有效的方法吗?

mysql - 存储压缩文件的数据库

Redis 流分区

java - 集群模式下的 Redis Pfcount

java - 使用 elasticache 的日志中的 DNS 错误