我是Redis的新手,并希望在mysql数据库中实现相当于"用户"表的"最佳实践"解决方案,以便在Web应用程序中处理用户.
我会在Redis中创建用户SET吗?或者每个用户都有一个SET用户数据库?
我对用户的标准设置是标准密钥中的序列化对象u:userid - 在每个请求上检索此对象,并且永远不需要只访问其中一个属性.
你也可以使用哈希而不是json作为用户属性,但是我的设置包括被用作强类型对象的所有内容以及在客户端的不同服务器上运行的redis,因此使用json可以更容易地使用通用反序列化并最小化任何延迟的问题.
除了用户对象本身之外,您还需要一个索引来查找用户所需的任何字段 - 例如,为了允许用户使用电子邮件地址登录,您需要一个密钥e:email => userid.哈希也可以在这里工作 - 重要的是你需要O(1)的东西从电子邮件到用户对象.
有时用户数据的某些部分应该有自己的密钥 - 例如,关注者列表与redis集完美匹配,因此最好存储在该表单中.
| 归档时间: |
|
| 查看次数: |
3091 次 |
| 最近记录: |