- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在将旧的基于 MySQL 的用户管理系统转换为 Redis,并且遇到了一些问题...
我正在使用 HASH 和 SET 的组合作为系统的基础。
只是一些伪代码
let uid=incr user_id_counter
hset joe@dom.com user user:uid
hset user:uid email joe#dom.com
hset user:uid gender m
hset user:uid year_of_birth 1972
hset user:uid fav_band acdc
sadd maleUsers uid
sadd born1972Users uid
此时一切正常,我可以使用 sinter 进行搜索例如:
sinter maleUsers born1972
or
sinter femaleUsers born1980
这是假设我为每一年的 birh 制作一个单独的集合
sad bornXXXX uid
这是我可以忍受的 - 但我将如何处理最喜欢的乐队?当然,我不会为所有可能的乐队制作一套?
最终我希望能够进行详细的搜索,例如,
sinter maleUsers born1980 genreRock genreMetal homeTownSydney
是否有更复杂的方法来进行关系查询?
最佳答案
我是 Redis 的忠实粉丝。但恐怕你的做法是错误的。用户凭据的主要存储应该仍然是传统的 RDBMS,坚持使用 MySQL 是一个很好的方法。
NoSQL 数据库,尤其是 Redis,旨在做其他事情。
Redis 是基于内存的。是的,您可以将所有内容保存到硬盘驱动器,但是当您的机器启动时,它会将所有内容从硬盘驱动器加载到内存中。并且 - 您的存储上限就是您机器的内存。因此,除非您指望的用户不多,否则我不会推荐将 Redis 作为主要存储来源。您仍然可以利用 Redis 对您的用户进行二次访问(例如二级缓存),但不能作为主要来源。
您可以为您的用户数据库使用基于磁盘的 NoSQL 数据库(MongoDB、CouchDB、Cassandra 等),这是比 Redis 更好的选择,但我仍然强烈建议为此使用传统的 RDBMS。您希望将最关键的数据保存在可靠的基于事务的系统中。
关于mysql - Redis用户管理系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14906928/
我们正在开发一个项目,该项目本身就是 CMS 系统,需要处理大量数字数据,如图像、视频和其他 Assets 。我们正在分析使用用 Java 构建的任何第三方 DAMS 系统的选项,因为我们在同一平台上
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
一个简单的问题。 在 magento 中,当转到 System/Configuration 时,左侧导航中有一些主要选项卡。 一般、目录、客户、销售、高级等。 我想知道什么 xml 为那些设置了顺序?
在开发过程中我发现系统配置->设计 HTML Head 部分丢失。 我已经阅读了很多教程,但没有得到这个问题的解决方案。 我已清除缓存并执行索引。 禁用所有安装模块。 我使用的是magento 1.7
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
上下文 我正在遵循 GCP 对 Storing Secrets 的说明在存储桶中。 KMS 用于 file encryption在上传到存储桶之前。 由于数据加密发生在 Google 存储之外,我对
我目前正在为 KMS( key 管理服务)编写云形成模板(CFT),我想向 root 以外的用户授予 key 管理权限和 key 使用权限。我希望通过 CFT 动态调用它。到目前为止,我可以授予 ro
我是一名优秀的程序员,十分优秀!