草庐IT

ARCHITECTURE

全部标签

database-design - Redis ACL架构

我想使用redis来检查用户是否对网站上的某些地方有权限。该网站允许用户创建功能有限的群组。基本上有两种类型的用户(可能更多)——管理员和读者。一个用户可以参加不同的组(10-15组)第一个想法-为每个用户创建redis哈希并包括他们作为管理员的组和他们作为读者的组。然后我可以通过在注销时删除记录并在登录和更改时设置权限来控制这些。散列也可能过期。第二个想法-为每个组创建散列并存储管理员成员和读者成员。这样做的好处是群组的数量可能会少于成员,而且我也可以提取群组的详细信息。所以我的两个问题是-哪种方法在架构方面更好?我是否应该使用哈希(因为我最终会得到类似group:1admins[1

algorithm - Redis 类似 Twitter 的关注/取消关注设计模式

假设我们正在复制Twitter的关注功能。据我所知,现在每个人都同意以下使用Redis的设计。joe之后的所有推文都存储在一个排序集“ss:joe”中,key=tweet_id,score=tweet_timestamp因此,当joe关注ladygaga时,ladygaga的推文将添加到“ss:joe”,到目前为止一切顺利。问题是:当joe取消关注ladygaga时,如何从“ss:joe”中删除ladygaga的推文?遍历每条“ss:joe”推文并删除属于ladygaga的推文已经过时了。我能想到的最好办法是为每个存储自己的推文的用户维护另一个排序集,这样ladygaga就会有她的排序

algorithm - Redis 类似 Twitter 的关注/取消关注设计模式

假设我们正在复制Twitter的关注功能。据我所知,现在每个人都同意以下使用Redis的设计。joe之后的所有推文都存储在一个排序集“ss:joe”中,key=tweet_id,score=tweet_timestamp因此,当joe关注ladygaga时,ladygaga的推文将添加到“ss:joe”,到目前为止一切顺利。问题是:当joe取消关注ladygaga时,如何从“ss:joe”中删除ladygaga的推文?遍历每条“ss:joe”推文并删除属于ladygaga的推文已经过时了。我能想到的最好办法是为每个存储自己的推文的用户维护另一个排序集,这样ladygaga就会有她的排序

linux - redis 是否将客户端数量限制为 65K?

我使用的是Redis2.4.6稳定版。我已经将文件ae.h中的redis文件描述符的数量增加到超过200K:#defineAE_SETSIZE(1024*200)但是在运行它时我达到了65534的限制。我在RedHat实例的ec2上运行redis:2.6.32-220.2.1.el6.x86_64我正在使用ulimit-n200000运行redis我已经设置了多个ec2节点的测试,试图将并发连接推到超过150K,但它不会超过65K。关于我可以缺少什么的任何想法?也许是内核限制?Redis中的错误?这是redis服务器上的INFO转储:used_cpu_sys_children:0.00

linux - redis 是否将客户端数量限制为 65K?

我使用的是Redis2.4.6稳定版。我已经将文件ae.h中的redis文件描述符的数量增加到超过200K:#defineAE_SETSIZE(1024*200)但是在运行它时我达到了65534的限制。我在RedHat实例的ec2上运行redis:2.6.32-220.2.1.el6.x86_64我正在使用ulimit-n200000运行redis我已经设置了多个ec2节点的测试,试图将并发连接推到超过150K,但它不会超过65K。关于我可以缺少什么的任何想法?也许是内核限制?Redis中的错误?这是redis服务器上的INFO转储:used_cpu_sys_children:0.00

node.js - 在同一台服务器上设置 MongoDB 和 Redis

目前我有一个使用Node.js和MongoDB设置的简单API服务器,但我想开始合并Redis来缓存请求。在与MongoDB服务器相同的机器上设置Redis实例是不好的做法吗?如果我将来要扩展MongoDB服务器,是否有任何我应该注意的Redis设置问题? 最佳答案 虽然Redis和MongoDB确实是一个很好的组合,但它们不应该安装在同一个Node上,尤其是当MongoDB数据库不适合内存时。MongoDB利用操作系统的虚拟内存机制,其数据结构(btrees)即使在交换的情况下(由于内存局部性)也能提供可靠的性能。如果MongoD

node.js - 在同一台服务器上设置 MongoDB 和 Redis

目前我有一个使用Node.js和MongoDB设置的简单API服务器,但我想开始合并Redis来缓存请求。在与MongoDB服务器相同的机器上设置Redis实例是不好的做法吗?如果我将来要扩展MongoDB服务器,是否有任何我应该注意的Redis设置问题? 最佳答案 虽然Redis和MongoDB确实是一个很好的组合,但它们不应该安装在同一个Node上,尤其是当MongoDB数据库不适合内存时。MongoDB利用操作系统的虚拟内存机制,其数据结构(btrees)即使在交换的情况下(由于内存局部性)也能提供可靠的性能。如果MongoD

architecture - 在同一台服务器上设置 Redis 及其客户端应用程序

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion我正在查看用于设置配置平台/服务的选项,该平台/服务将为所有消费者客户端服务/应用程序提供配置。要求是这应该设置在专用服务器上。我正在探索Redis是否可以成为支持复杂键值配置的可能选项之一。如果要在与消费者服务器不同的服务器上设置Redis,GET会涉及一些网络延迟(我不是那很担心SET,因为它们会非常少比GET)。我是否应该在客户端机器上设置另一个缓存层(例如Eh

architecture - 在同一台服务器上设置 Redis 及其客户端应用程序

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion我正在查看用于设置配置平台/服务的选项,该平台/服务将为所有消费者客户端服务/应用程序提供配置。要求是这应该设置在专用服务器上。我正在探索Redis是否可以成为支持复杂键值配置的可能选项之一。如果要在与消费者服务器不同的服务器上设置Redis,GET会涉及一些网络延迟(我不是那很担心SET,因为它们会非常少比GET)。我是否应该在客户端机器上设置另一个缓存层(例如Eh

java - 服务器架构 - Redis 与 Socket 服务器

我有一个要在几个实例上运行的游戏服务器。世界1、世界2、世界3每个世界都是一个运行在不同IP地址上的服务器。有一个游戏应该有的列表:连接到游戏,对用户进行身份验证。能够查看所有已连接的玩家,显示每个玩家连接到的世界。能够向玩家发送消息,即使他连接到不同的世界服务器。能够向所有服务器发送全局消息。我可以想到两种方法:方法1-登录服务器TCP/IP创建中间人服务器。当客户端连接到世界时,该世界服务器将针对输入的用户凭据发送登录请求数据包,登录服务器将检查数据库并返回身份验证结果,如果成功,则用户将在世界。登录服务器将始终更新所有世界的在线玩家列表、每个玩家的状态、他所在的世界等。当玩家X在