如何将密钥链接到另一个已存在的密钥在redis中的值

时间:2015-03-15 06:54:25

标签: node.js redis

我想在redis或者某些redis api中使用nodejs

这样的东西
redis> HMSET local-user-id-001        id "001" name "Henry Leu" gender "m"
OK
redis> **LINK-KEY**  facebook-openid-001   local-user-id-001
OK
redis> HMGET local-user-id-001 id name gender
1) "001"
2) "Henry Leu"
3) "m"
redis> HMGET facebook-openid-001 id name gender
1) "001"
2) "Henry Leu"
3) "m"
redis> HSET facebook-openid-001 name "henryleu"
redis> HGET local-user-id-001 name
<string> henryleu

在我的情况下,我将创建一个本地用户帐户,并将其绑定到SNS帐户,因此最终用户可以通过本地用户ID或SNS openid加载他/她的个人资料信息。我想要的是为每个用户维护一个用户对象,可以从redis服务器中的本地用户ID或SNS openid读取。这样,使用的空间更小,维护更简单。

这是一种方法吗?

1 个答案:

答案 0 :(得分:0)

redis不支持密钥别名,但您可以添加自己的间接层。 one sulotion是将本地id和open id之间的链接与另一个键值保持一致,例如:

set  link:facebook-openid-001 local-user-id-001 

def getUser(id) = {
    if isOpenId(id) hmget(get("link:" + id)) else hmget(id)
}
相关问题