草庐IT

instance-eval

全部标签

redis - EVAL 与 WATCH/GET/MULTI/EXEC

我读过有关EVAL的文档,其中指出“Redis保证脚本以原子方式执行:在执行脚本时不会执行其他脚本或Redis命令。”我还阅读了有关使用WATCH/GET/MULTI/EXEC进行本质上是乐观锁定事务的内容。我现在有一个关于这两个构造之间并发性差异的问题。在我看来,如果我想读取多个键,进行冗长的计算(例如,解析几百KB的json,然后做出一些决定)然后写回结果,如果我使用EVAL我将阻止对redis数据库的所有请求,即使是那些与不属于我要与之交互的集合的键交互的请求。另一方面,如果我使用WATCH方法,我将需要构建重试逻辑,但如果我正在监视100万个key中的100个,我只需要担心其他

c# - Redis 和 Siglnar 偶尔会在 EVAL 上挂起 SocketFailure

我们正在使用Redis:2.8.2400和SignalR2.2.0我们可以在日志中看到偶尔会挂起。StackExchange.Redis.RedisConnectionException:SocketFailureonEVALatMicrosoft.AspNet.SignalR.Messaging.ScaleoutStream.Send(Func`2send,Objectstate)atMicrosoft.AspNet.SignalR.Infrastructure.Connection.Send(ConnectionMessagemessage)atMicrosoft.AspNet.S

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

redis - key 名称对于 eval 是事先不知道的

Redis文档建议我将键名称指定为我的脚本的参数并在脚本中读取它们,而不是在脚本中对它们进行硬编码。如果我在调用脚本时知道名称,这就可以正常工作。在我的例子中,我的键名存储在Redis对象(哈希)中,我需要根据参数检索一些哈希条目,然后以原子方式访问这些键。有没有人对如何使其以合规方式工作有任何想法? 最佳答案 我遇到了同样的问题。正如你提到的,RedisEVALcommand文档告诉:allthekeysthatthescriptusesshouldbepassedusingtheKEYSarray,inthefollowingw

redis - Redis是否支持将一个key拆分成多个Redis Instance?

比如我在redis中有一个大列表,一个实例装不下。Redis是否支持将列表拆分为其他实例?如果是,我需要做任何配置吗? 最佳答案 我不确定你是在谈论系统内存还是列表的实现大小。Redis列表Themaxlengthofalistis232-1elements(4294967295,morethan4billionofelementsperlist).您需要超过40亿个元素吗?对于一个10字节的字符串,在字符串存储中的一个列表中至少有40GB,不计算任何列表额外的实现开销。内存如果列表中有空间但内存不足,那么:IfRediscan't

c# - SignalR 和 Redis : SocketFailure on EVAL

我们正在运行两个带有signalR2.2.0和StackExchange.Redis.StrongName1.0.394的服务器,有时我们会遇到一些错误,例如:StackExchange.Redis.RedisConnectionException:SocketFailureonEVAL我查看了redis日志,没有发现任何问题,而且性能一直很好。(我们还使用Redis进行缓存)。我不知道发生了什么,我想知道我是否可以忽略这个错误。我还询问了主办方是否存在任何已知的网络问题,他们告诉我没有。问题不是很具体,但我目前不知道从哪里可以获得更多信息。 最佳答案

database - 带有数据 : shared volume vs clustering vs single instance 的 Docker Swarm

我迈出了使用DockerSwarm的第一步,想知道如何处理使用持久性数据的服务,如redis、elasticsearch或数据库。我找到了很多关于如何使用dockerswarm配置redis/elasticsearch/database集群的教程——但是使用共享存储不是更容易吗?例如,我使用Azure,所以我可以简单地将单个Azure文件存储用作redis/elasticsearch/数据库卷,并让我的所有节点安装这个文件存储。这是一种可接受的方法还是存在一些明显的缺点(例如,当两个或多个数据库实例尝试同时写入该存储时)?是否建议在每个节点中使用此类“数据”服务?或者我应该只将Dock

c++ - RedisClient 通过 EVAL 命令使用 Lua 脚本

我正在使用nekipelov/redisclient访问Redis,我需要通过一次调用Redis来检索多个哈希数据以提高性能。更具体地说,我正在尝试检索如下所示的多个哈希值:redis-cli--ldb--eval/tmp/script.luahash_key1hash_key2其中script.lua:localr={}for_,vinpairs(KEYS)dor[#r+1]=redis.call('HGETALL',v)endreturnr但我很难通过nekipelov/redisclient使用EVAL命令来表达上述内容。我尝试了以下方法:redisclient.command(

java - 是否可以将 EVAL SHA 与 spring-data redis 一起使用?

是否可以使用Redis命令EVALSHA使用Spring-DataRedis命令?我们成功地将EVAL与执行命令一起使用:redisTemplate.execute(script,null,args);,但每次都将脚本传输到Redis服务器似乎会带来很大的开销。是否可以使用Spring-DataRedis将脚本存储一次并基于其SHA运行它? 最佳答案 ThedefaultScriptExecutoroptimizesperformancebyretrievingtheSHA1ofthescriptandattemptingfirst

Azure Redis 缓存 StackExchange.Redis.RedisConnectionException : No connection is available to service this operation: EVAL

Asp.netmvc5应用程序web配置文件是sessionStatemode="Custom"customProvider="RedisSessionProvider">providers>addname="RedisSessionProvider"type="Microsoft.Web.Redis.RedisSessionStateProvider"port="6380"host="XXX.redis.cache.windows.net"accessKey="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"ssl="true"/>providers>ses