草庐IT

read-replication

全部标签

amazon-ec2 - Redis 服务器报告 Reading from client : Connection reset on amazon ec2 c1. medium instance

我在ec2中型实例上运行redis2.4.16,持久化是标准的ebs,我检查了redis日志,发现有一些日志报告“从客户端读取:连接重置”每隔几个小时发生一次,我所有的客户端和服务器都在同一个zone:ap-northeast-1a,操作系统是ubuntuserver12.04。客户端是jredis+springdataredis1.0.0.M4,谁能想出办法或者给点建议,谢谢!以下是redis信息命令结果:redis_version:2.4.16redis_git_sha1:00000000redis_git_dirty:0arch_bits:64multiplexing_api:e

Erlang 和 Redis : read performance

我在尝试从Redis排序集中读取1M记录时突然遇到性能问题。我使用了ZSCAN,光标和批量大小为5K。代码是在托管Redis的同一台机器上使用ErlangR14执行的。接收5K元素批处理需要将近1秒。不幸的是,我在这台机器上编译ErlangR16失败了,但我认为这没有关系。相比之下,带有node_redis(hiredis解析器)的Node.js代码在2秒内完成1M。Python和PHP的结果相同。也许我做错了什么?提前致谢。这是我的Erlang代码:-module(redis_bench).-export([run/0]).-define(COUNT,5000).run()->{_,

redis master slave replication - 从站上丢失数据

问题我有一种情况,我在主服务器上创建的数据似乎没有正确复制到我的从服务器。掌握Redis数据库设置信息我有一个运行在10.1.1.1上的主机。配置设置为“保存”到磁盘。这是配置文件的一个片段:save9001save30010save6010000当我对有问题的散列运行扫描命令时,结果如下(正确):127.0.0.1:6379>scan0matchdep:*1)"13"2)1)"dep:+19999999999_00:00_00:00"2)"dep:+19999999999_19:00_25:00"3)"dep:+19999999999_08:00_12:00"127.0.0.1:63

redis - 如何处理 Redis 客户端中的 read() 超时?

假设我的客户端向redis服务器发送了一个'INCR'命令,但是响应数据包丢失了,所以我的客户端的read()会超时,但是客户端无法判断服务器是否执行了INCR操作。接下来要做什么?重新发送INCR或继续下一个命令?如果client重新发送INCR,但是万一redis之前在server端进行过INCR,这个key会增加两倍,这不是我们想要的。 最佳答案 这不是Redis特有的问题:它也适用于任何其他数据存储(包括事务性数据存储)。这个问题没有解决方案:您只能希望将问题最小化。例如,有些人倾向于为他们的超时设置非常激进的值,认为Red

php - Redis缓存时报错 "Connection read timed out"

我有ZendFramework项目,我决定使用Rediska作为Redis客户端。Rediska具有ZF的缓存后端适配器-Rediska_Zend_Cache_Backend_Redis。我从数据库对象集合中获取并尝试将其保存在缓存中,但出现错误:连接读取超时。我的代码示例:$rediskaOptions=array('name'=>'cache','namespace'=>'Cache_','servers'=>array('cache'=>array('host'=>Rediska_Connection::DEFAULT_HOST,'port'=>Rediska_Connectio

ruby-on-rails - sidekiq 进程中的 Rails.cache.read

在我的RubyonRails应用程序中,我有如下所示的模型:classSchema我在Sidekiqworker调用的其他类中使用此类方法。它有时会返回以下错误:NotImplementedError使用谷歌我在redis_storegem中发现了这个问题:https://github.com/redis-store/redis-store/issues/74但是他们修复了这个错误。我的应用程序托管在Heroku上,我使用的是RedisCloud。有什么想法可以解决这个问题吗?编辑:这是完整的回溯:NotImplementedError:NotImplementedErrorfromc

Docker Swarm Redis 和 Sentinel with master-slave replication IP resolution client failure

我遇到了一个问题,我不确定如何解决这个问题。我的redissentinel生态系统如下:3哨兵集群-->使用docker-compose管理1master和2slave我已经为生态系统创建了一个dockeroverlay网络,并使用dockerstackdeploy来运行dockercomposeyml。每个节点上的redis-cli显示正确的信息配置。但是,外部客户遇到了问题。当我向客户端应用程序提供哨兵地址时(在我的例子中,它是一个springredis应用程序),我得到了主redis的覆盖网络的内部IP地址。这对客户端来说是不可识别的,并且它失败了。如何获取外部可解析的IP地址?

php - Laravel 5.6升级后Redis "Error while reading line from the server."

今天升级到Laravel5.6后,我遇到了很多Redis错误,都指出:Errorwhilereadinglinefromtheserver.[tcp://redis.localhost:6379]{"exception":"[object](Predis\\Connection\\ConnectionException(code:0):Errorwhilereadinglinefromtheserver.[tcp://redis.localhost:6379]at/var/www/manage.localhost/vendor/predis/predis/src/Connection/

Redis replication和redis sharding(cluster)区别

有人知道Redis复制和Redis分片之间的区别吗?它们有什么用?Redis将数据存储在内存中,这对复制/分片有何影响?是否可以同时使用它们? 最佳答案 分片几乎是复制的对立面,尽管它们是正交的概念并且可以很好地协同工作。分片,也称为分区,是按键拆分数据;而复制,也称为镜像,是复制所有数据。分片有助于提高性能,减少任何一种资源的命中率和内存负载。复制对于获得读取的高可用性很有用。如果从多个副本读取,也会降低所有资源的命中率,但所有资源的内存需求保持不变。应该注意的是,虽然您可以写入从属,但复制只是主->从。所以你不能以这种方式扩展写

ios - "The data couldn’ t be read because it is missing”在Swift中解码JSON时出错

我收到以下错误:无法读取数据,因为它丢失了。当我运行以下代码时:structIndicator:Decodable{letsection:Stringletkey:Intletindicator:Intletthreshold:Int}varindicators=[Indicator]()do{ifletfile=Bundle.main.url(forResource:"indicators",withExtension:"json"){indicators=tryJSONDecoder().decode([Indicator].self,from:tryData(contentsOf