假设我想存储用户偏好...像这样简单的东西:
{
"favoriteColor": "green",
"bestFriends": [
"Tom",
"Jenny",
"Horton"
]
}
将其存储在 Redis 缓存中(针对读取进行了优化)的最佳、最高效的方法是什么?
假设 UserId = 123
注意:下面我使用 Redis 文档的方式来表示各种结构。参见 here .
就在根中的简单、扁平、键/值对?
user-123-favoriteColor = green (this is a STRING type)<br/> user-123-bestFriends = 1) "bestFriends" (SET TYPE) 2) "Tom" 3) "Jenny" 4) "Horton"
层次结构(值的散列)
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/