草庐IT

Redis_Proxy

全部标签

Redis哨兵故障转移,选择特定的master

我有3个复制的Redis实例在3台不同的机器上运行:A、B和C。我最初选择A作为我的主人。我还有3个哨兵(每台机器上1个)监视A。如果A出现故障,我希望哨兵选择一个特定的主节点来故障转移到(比如B)。有没有一种方法可以选择特定的master而不是将其留给哨兵的选举机制?由于我在任何地方都找不到这个问题,我认为这不是标准程序,所以我将解释其背后的原因:我的应用程序在负载均衡器后面的A、B和C上运行。主服务器使用其本地Redis数据库,该数据库被复制到其他两个从服务器。当A出现故障时,负载均衡器可以选择B作为master,而Redissentinels可以选择C作为Redismaster。

javascript - NodeJS + Redis + WebSocket 内存管理?

我有一个托管WebSocket服务器的NodeJS。WebSocket重新分发来自Redis的消息。完整的行是,我有一些python脚本在Redis中推送一些数据,然后NodeJS是WebSocket,它将Redis新输入的数据读取到连接的客户端。我的问题是NodeJs总是占用内存,过一会儿它就会突然停止。我不知道我的问题是什么,因为我的代码很简单。我不需要我的WebSocket来接收来自已连接客户端的消息,因为我只需要向它们推送数据,而是大量数据。varserver=require('websocket').server,http=require('http');varredis=r

javascript - NodeJS + Redis + WebSocket 内存管理?

我有一个托管WebSocket服务器的NodeJS。WebSocket重新分发来自Redis的消息。完整的行是,我有一些python脚本在Redis中推送一些数据,然后NodeJS是WebSocket,它将Redis新输入的数据读取到连接的客户端。我的问题是NodeJs总是占用内存,过一会儿它就会突然停止。我不知道我的问题是什么,因为我的代码很简单。我不需要我的WebSocket来接收来自已连接客户端的消息,因为我只需要向它们推送数据,而是大量数据。varserver=require('websocket').server,http=require('http');varredis=r

php - 无法找到软件包 php5-redis Ubuntu 14.04

我正在尝试通过ansible在Ubuntu14.04上安装php5,如下所示-name:addondrejppabecome:trueapt_repository:repo=ppa:ondrej/php-name:Updateaptsudo:trueapt:update_cache=yes-name:InstallPHPsudo:trueapt:pkg={{item}}state=latestwith_items:"{{php__packages}}"和php__ppa:name=php5state=latestphp__packages:-php5-fpm-php5-cli-php5

php - 无法找到软件包 php5-redis Ubuntu 14.04

我正在尝试通过ansible在Ubuntu14.04上安装php5,如下所示-name:addondrejppabecome:trueapt_repository:repo=ppa:ondrej/php-name:Updateaptsudo:trueapt:update_cache=yes-name:InstallPHPsudo:trueapt:pkg={{item}}state=latestwith_items:"{{php__packages}}"和php__ppa:name=php5state=latestphp__packages:-php5-fpm-php5-cli-php5

caching - CacheManager.Net - Redis 流水线

有人可以确认CacheManager.Net是否支持redis流水线吗?我在documentation中找不到它非常感谢。干杯,你 最佳答案 有点。CacheManager不直接支持任何批处理操作。但对于Redis,您可以使用cache.Put,它在内部使用StackExchange.Redis的fireandforget标志。这是一种流水线,因为客户端不会等待一个操作完成才能执行下一个操作。如果您改用cache.Add(或更新等),CacheManager必须等待回复,例如如果操作成功与否,也许该项目确实已经存在等等......因

caching - CacheManager.Net - Redis 流水线

有人可以确认CacheManager.Net是否支持redis流水线吗?我在documentation中找不到它非常感谢。干杯,你 最佳答案 有点。CacheManager不直接支持任何批处理操作。但对于Redis,您可以使用cache.Put,它在内部使用StackExchange.Redis的fireandforget标志。这是一种流水线,因为客户端不会等待一个操作完成才能执行下一个操作。如果您改用cache.Add(或更新等),CacheManager必须等待回复,例如如果操作成功与否,也许该项目确实已经存在等等......因

events - EXPIRE 键 0 未通知 Redis 订阅者

我有一个Redis客户端订阅了__keyevent@0__:expired通知。它完美地工作,无论是当key本身过期(达到ttl)还是当我手动使它们过期且秒数大于0时,如下所示:EXPIREmyKey1订阅者看到expired事件,因此可以采取一些行动。但是,如果我想手动删除key并通知订阅者,我使用EXPIRE,秒数为0:EXPIREmyKey0key被删除,但订阅者没有收到任何东西。我在文档中看不到任何与此相关的内容。谁能解释这种行为? 最佳答案 查看源代码(expire.c,~252),设置这种行为确实没有记录在案,如果你能提

events - EXPIRE 键 0 未通知 Redis 订阅者

我有一个Redis客户端订阅了__keyevent@0__:expired通知。它完美地工作,无论是当key本身过期(达到ttl)还是当我手动使它们过期且秒数大于0时,如下所示:EXPIREmyKey1订阅者看到expired事件,因此可以采取一些行动。但是,如果我想手动删除key并通知订阅者,我使用EXPIRE,秒数为0:EXPIREmyKey0key被删除,但订阅者没有收到任何东西。我在文档中看不到任何与此相关的内容。谁能解释这种行为? 最佳答案 查看源代码(expire.c,~252),设置这种行为确实没有记录在案,如果你能提

python - 在 redis 中使用管道进行批量处理(python 示例)

我正在尝试使用python客户端清除我在redis中实现的流水线概念。举个例子:my_server=redis.Redis(connection_pool=POOL)forobj_idinlist_of_obj_ids:hash_name="n:"+str(obj_id)sorted_set="s:"+str(obj_id)ifmy_server.exists(hash_name):my_server.hset(hash_name,'val',0)ifmy_server.zcard(sorted_set):my_server.zadd(sorted_set,hash_name,time