草庐IT

cached_obj_get

全部标签

caching - MySql 与 Spring Cache 的 Redis 缓存策略

目前我使用Redis的目的如下:缓存网页。缓存产生单一结果的SQL查询。例如:@Cacheable(value="memberCache",key="#username.concat('')")publicMemberModelfindByUsername(Stringusername){returnmemMapper.findByUsername(username);}但问题是如何缓存导致多个结果的SQL查询。例如:publicListfindWhichAgeBiggerThan(intage){returnmemMapper.ageBiggerThan(age);}现在结果变成了一

caching - 如何在 C# 中将字典存储在 Redis 缓存/哈希中

我正在使用缓存来存储ENUMCACHE就像吹。if(System.Web.HttpContext.Current.Items["_ENUMCACHE"]==null)System.Web.HttpContext.Current.Items.Add("_ENUMCACHE",newDictionary(string,Enumeration>();现在我需要更改RedisCahche/Hash。我怎样才能在Redis中存储字典。 最佳答案 Enumdic=newEnum();dic.Add("test","test");connecti

ruby-on-rails - Redis.set 不使用下划线或连字符保存键,Redis.get 返回 nil

如标题所示,我使用的是Redisgem,这里是输出:2.2.2:011>$redis=Redis.connect=>#2.2.2:012>$redis.set("max-tag-id","hi")=>"OK"2.2.2:013>$redis.get("max-tax-id")=>nil2.2.2:014>$redis.set("max_tag_id","hi")=>"OK"2.2.2:015>$redis.get("max_tax_id")=>nil2.2.2:016>$redis.set("maxtagid","hi")=>"OK"2.2.2:018>$redis.get("maxt

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)。在没有任何节点中断的情

caching - Redis:使用两个实例还是只使用一个实例(缓存和存储)?

我们需要对我们的API请求执行速率限制。我们有很多网络服务器,速率限制应该在所有服务器之间共享。此外,速率限制需要一定数量的临时存储(我们希望将用户配额存储一段时间)。我们有一个很好的速率限制实现,通过使用SETEX与Redis一起工作。在这个用例中,我们需要将Redis也用作存储(根据SETEX调用中设置的过期时间)。此外,缓存需要在所有服务器之间共享,并且我们无法在每个Web服务器上使用内存缓存之类的东西来处理速率限制,因为速率限制是针对每个用户的-所以我们希望有为此目的消耗了大量内存。所以这个过程是Redis集群的一个很好的用例。问题是-执行速率限制的同一个Web服务器也有一些其

caching - 高流量、多应用下如何更新分布式缓存?

我有N个服务,使用M个redis作为远程分布式缓存。假设现在多个服务想要检索同一个key,下面的伪代码是如何完成工作的:redisClient=getRedisClientByConsistentHash(key)value=redisClient.get(key)ifvaluenotexistvalue=getValueFromSomewhereElse(key)//line4redisClientsetkeyvalueex1nx//line5returnvalue所以问题是:在“第4行”中,如果2个应用程序检索不同的值,一个较新,另一个较旧(应弃用),则存储旧值的调用可能会在存储新

caching - Redis集群不支持多个master节点同时失效

我有以下配置:Redis_version:3.2.03个主节点和3个从节点每个master节点复制到slave一切正确。当一个主节点因“kill”命令而失效时,对应的从节点如预期的那样成为主节点。几秒钟后,cluster_state返回到OK状态。但是,如果两个主节点同时发生故障,则关联的从节点都不会成为主节点。cluster_state保持在“失败”状态。clusternodescommandoutput.b60c284a515b31aa6b11022fc07cf1a399171e04127.0.0.1:7000master,fail?-14646904550301464690454

caching - 在 Redis 中构建这样的数据是否可行且经济?

我有2个对象-用户和文件。用户可以是管理员或基本用户。文件可以手动与用户共享,管理员用户无论如何都可以查看所有文件。我想保留“用户x可以查看哪些文件”和“哪些用户可以查看文件x”的缓存。问题是如果user23是管理员并且您将该用户更改为基本用户,他们将失去对某些文件的访问权限-但如果文件也已手动与user23共享,他们应该保留访问权限。那么像这样的结构呢:user:23:files:admin=>[1,2,3]user:23:files:shared=>[2]file:1:users:admin=>[23]file:2:users:admin=>[23]file:3:users:adm

java - 使用redis共享session时,要保存session中的对象 get为空时,保存String正常

tomcat上下文.conf:使用jar:jedis-2.2.0.jarcommons-pool-1.6.jarcommons-pool2-2.0.jartomcat-redis-session-manager-1.2-tomcat-7-java-7.jar 最佳答案 Redis只支持某些类型的简单数据结构(即字符串、字节、整数、列表、集合等)。Redis中保存对象的一种方法是序列化对象并将其存储为字节数组。 关于java-使用redis共享session时,要保存session中的对象

caching - 有没有可能让一个写请求从一个slave直接传递给Redis中的master?

我们需要一个可以复制到其他数据中心的内存中键/值存储。这是我们的要求:1.所有数据中心必须有相同的数据库(稍微重新同步是可以接受的,比如30-60秒)。我知道我们可以只有一个主服务器,这没问题。一个数据中心只有一个数据库会是master。但是如果主服务器死了,那么我们需要选举一个新的主服务器。2.我们需要能够向任何一个从节点发送写请求,它会直接发送给主节点。我知道有一个Redis集群可以接受所有的写请求,但它不适合我们,因为数据分布在节点之间(所以,所有数据中心的所有服务器将处理不同的数据,但我们需要有所有数据中心的数据相同,因为我们只有5%的写入和95%的读取)。是否可以用Redis