草庐IT

fixed_key

全部标签

Redis Sentinel 和 fix-slave-config : Redis node is getting set as slave of two masters when it should not be

我正在尝试在大型redis队列中使用哨兵进行故障转移(12个哨兵,500多个分片,每个分片一个主站和一个从站)。我遇到了一个非常奇怪的问题,我的哨兵反复向某些redis节点发出命令+fix-slave-config。我没有注意到这种情况发生在较小的规模上,因为它是值得的。我注意到两个具体问题:+fix-slave-config消息,如上所述sentinel.conf显示某些slave有两个master(他们应该只有一个)处于起始状态的舰队有一个特定的从属节点XXX.XXX.XXX.177和一个主节点XXX.XXX.XXX.244(它们一起构成舰队中的分片188)。在没有任何节点中断的情

ruby-on-rails - 如何在 Redis 对象 gem 中使用 hash_key?

我需要使用redis-objects将哈希存储到Redis中gem。从README中,他们有hash_key。但是没有这方面的例子。我得到一个错误:NoMethodError:undefinedmethod`fantasy_points_details='for#当我这样做时:inning_player_instance.fantasy_points_details={a:1}对于这样的模型:classInningPlayer但是setter/getter起作用了:>inning_player_instance.fantasy_points_details=>#

redis - 红人 key : use `table:<id>:col1` or use hashes?

关系型数据库转redis数据库时,我们应该使用table::col1table::col2table::coln例如,作为键或使用散列代替table:col1={:,:,...}table:col2={:,:,...}table:coln={:,:,...}为什么? 最佳答案 您可能以错误的方式思考这个问题。在Redis中,您可以根据想要获取数据的方式来存储数据。首先考虑您的查询,然后决定“架构”。在任何情况下,Hash方法通常用于将相关值分组在一起(如一行中的列)以及减少每个键的开销。根据OP提供的非常广泛的信息,如果我们假设作为

python - 使用python在redis中进行 key 压缩

我有非常大的数据集,我正在考虑使用Redis.我的数据集包括:sha1散列和与该散列关联的附加n值。我使用我的sha1哈希作为Redis中的键,我的目标是以某种方式压缩它)。我尝试使用zlib然后base64,但新哈希甚至比原始sha1哈希更长:[alexus@wcmisdlin02~]$pythonPython2.7.5(default,Nov202015,02:00:19)[GCC4.8.520150623(RedHat4.8.5-4)]onlinux2Type"help","copyright","credits"or"license"formoreinformation.>>>

java - jedis.incr(byte[] key) 的输入

我目前使用的是Jedis2.9.0版,根据RedisJedis文档,方法longjedis.incr(byte[]key)接受字节数组作为其键。问题是,我使用哈希值(MessageDigest.getInstance("MD5"))作为键,但我不确定此命令中允许的键类型/大小。我也不知道在这种情况下这是否是“最佳实践”。有谁知道字节数组可以有多大,并且仍然可以作为此方法中的参数传递? 最佳答案 Redis的键名最长可达512MB,并且是二进制安全的。由于MD5哈希是一个128位整数,它只需要16个字节作为key名称,并且完全在限制之

caching - 有没有其他方法可以在 Redis 中使用过期的 ttl 积极地逐出 key

我的用例:我正在使用Redis来存储大量数据。在1秒内,我在30分钟内用ttl在redis中写了大约24k个key,我希望在ttl过期后删除这些key。当前redis驱逐key的实现是它在任务中工作,每个任务选择20个随secret钥并查看key是否已过期ttl然后删除这些key并且redis建议使用不超过100个这样的任务。因此,如果我选择hz(任务数量为100),那么Redis将能够以max@2000键/秒的速度清除tke键,这对我来说太少了,因为我的插入率非常高,最终导致内存不足异常吃饱了。我的替代方案是:1/命中随机键,或者我们知道已经过期的键,这将在Redis中启动删除2/当

通过具有过去时间戳的 EXPIREAT 命令的 Redis key 过期事件

根据redis文档:EXPIREAThasthesameeffectandsemanticasEXPIRE,butinsteadofspecifyingthenumberofsecondsrepresentingtheTTL(timetolive),ittakesanabsoluteUnixtimestamp(secondssinceJanuary1,1970).Atimestampinthepastwilldeletethekeyimmediately.在设置过去的时间戳时,除了没有抛出key过期事件外,我得到的行为与文档完全相同。redis>SETmykey"Hello""OK"r

java - 绝地武士集群 : Scan For Key does not work

我试图扫描存储在JedisCluster中的特定key.Stringproduct="MMATest";StringredisServer="mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com:6379,mycachecluster.eaogs8.0002.usw2.cache.amazonaws.com:6379";SetjedisClusterNode=newHashSet();String[]serversArray=redisServer.split(";");for(StringaServersArray:serversAr

redis - 谷歌云计算引擎 redis 自动 key 删除

嗨,发生了一个奇怪的问题。我有一个运行Redis4的谷歌云实例。问题是Redis数据/key在随机插入后自动删除。当我将redis-cli与MONITOR命令一起使用时,我发现了以下内容:1525399477.663192[0122.114.179.53:47936]“信息”1525399487.102961[0122.114.179.53:55176]“命令”1525399487.546006[0122.114.179.53:55176]“flushall”1525399488.214514[0122.114.179.53:55176]"set""Backup1""\t\n*/2**

amazon-web-services - AWS + Celery + ElastiCache(Redis 集群)错误 : CROSSSLOT Keys in request don't hash to the same slot

我有一个在AWS上运行的DockerizedCelery,它使用来自AWS的ElastiCache(具有多节点的Redis集群)作为消息代理,但我收到以下错误。当我在本地机器上测试我的Celeryworker时,它与单个节点Redis通信完全正常。我应该如何解决这个问题?[I18051818:54:20mixins:224]Connectedtoredis://....use1.cache.amazonaws.com:6379//[E18051818:54:20events:123]Failedtocaptureevents:'CROSSSLOTKeysinrequestdon'tha