草庐IT

cached_obj_get

全部标签

caching - Redis 搜索等于某个值的匹配键

好的,在REDIS中,如果我只是想设置keys=achannelname和value=付费或免费...所以最终我会得到一个包含100、1000等键和值的列表,其中key的值(value)将被支付或免费。channelName,paidorfree所以,那我想来找找并要求数据库给我所有值(value)=免费的channel设置它的最佳方式/有效方式是什么?我基本上想查询并返回等于列表或字典中特定值的所有键的列表... 最佳答案 您可以使用sortedsets,成员值为0(免费)或1(付费)。在单个键中,您可以存储有序集合的成员,并且每

caching - Redis 或 Hazelcast,或其他?

我最近使用了一个旧的网络应用程序。应用程序会在初始化时将大量对象保存到Ehcache中,然后从缓存中获取对象。而现在,对象又增加了很多倍。App中的Ehcache无法满足要求。所以,我们考虑使用分布式缓存。我们会设置一些策略,让对象保存在不同的缓存服务器中。Redis和Hazelcast都不错。问题是,Redis和Hazelcast相比之前的Ehcache,Redis和Hazelcast必须Serialize对象。可能会消耗更多时间。那么哪个更好呢?还是没有其他更好的选择?提前致谢。 最佳答案 您有什么要求?Hazelcast具有可

ruby-on-rails - 为什么 Travis 在部署到 Heroku 时无法连接使用 Redis cache_store?

我在我的Rails应用程序中使用Redis缓存:config.cache_store=:redis_store,redis_url当我将我的Rails应用程序直接推送到Heroku时,它已成功部署。使用Travis时,Heroku部署步骤失败,因为Assets预编译尝试连接到Redis。Running:rakeassets:precompilerakeaborted!ArgumentError:invalidurischeme''/tmp/build_7c5f167bf750cb2986dbb9c3510ea11e/vendor/bundle/ruby/2.1.0/gems/redis

caching - 使用 redis 缓存管理器、redisTemplate 和多个序列化器进行缓存

我需要缓存多种类型,例如:publicCountryfindCountry(StringcountryName)和:publicListfindAllDestinations(StringcountryName)我正在使用RedisCacheManager,而RedisTemplate只支持一个序列化程序。 最佳答案 经过一番研究,现在解决了。将spring-data-redis更改为1.4.2.RELEASE使用您的类扩展RedisCacheManager,将缓存映射到序列化程序(cacheName->serializer)并缓存

caching - 如何检查redis缓存表是否为空?

我正在使用redis在MVC应用程序中缓存。我想检查redis缓存为空(无数据)然后触发将填充redis的Web作业缓存来自sql的表数据数据库。如何检查redis缓存中特定表中的空数据? 最佳答案 我不同意@bitoiu。不要将keys命令作为常规操作运行。key不打算以这种方式运行-它应该仅用于调试操作。同样,使用INFO不会告诉您特定数据是否存在,只是告诉您那里有东西。如果您只有一个键,那么可以肯定这似乎有效-直到您发现作业运行出错并存储了空字符串或错误数据。如果您只打算存储一个key,则可能有更好的选择。如果您几乎肯定要从S

caching - 像redis一样使用Elasticsearch作为键值缓存是否有意义

我最近遇到一个问题,因为redis不是分布式的,不支持并行(多核),Elasticsearch不是一个更好的选择来代替redis用于缓存目的。这都是引用一个简单的网络,我们在其中使用redis来缓存数据库查询。我有点明白了here,但仍然不确定它是否有任何真正的好处。打开此线程讨论这样做的优点/缺点。 最佳答案 这不是您真正想要的,但您可能想看看Aerospike.Redisisanin-memorydatastructurestoreknownforspeedandoftenusedasacache.BothRedisandAer

caching - Redis 缓存关系数据的正确策略

我们有以下用例示例:我们有用户、商店、friend(用户之间的关系)和喜欢。我们将这些表存储在MySQL中,并作为键值存储在Redis中,以便从Redis缓存中读取而不是命中数据库。对两个数据存储都进行了写入。因此,我们的应用程序非常快且可扩展,因为我们很少访问数据库进行读取。我们将AWS用于可扩展的Redis。但是,当用户登录时我们会遇到问题,我们必须显示商店列表,以及他的哪些friend喜欢该商店。这是一个join,Redis不支持直接join。我们想知道存储和显示这些数据的最佳方式是什么。例如:如果这应该存储在Redis表中,其中键值为“store/user_wholikes”并

python - 在 GET 和 POST 之间传输随机生成的数据库 key

我在处理下面代码的POST部分时遇到问题。我得出的结论是,在从登录发送表单后,正在重新加载关键变量,并且整数更改为不再始终与逻辑匹配。但出于某种原因,如果我将riddle和dbanswer打印到终端,它总是有效。我是Python和Flask的新手,我不确定是否有办法通过重新安排代码或使用某种重定向来分别处理GET和POST来修复我的代码中的这个错误,以便修复key两者之间。@app.route("/",methods=['GET','POST'])defHomePage():key=random.randint(1,3)riddle=con.get("riddle:%i"%key)db

caching - Redis 缓存 lru 启动 softlimit

我知道redis可以用作LRU缓存,但是否有softlimit标志,我们可以在达到特定条件后声明“redis将开始清理LRU项”。实际上我在redis上遇到OOM错误,我已将redis设置为LRU缓存,但它达到了OOM限制并且应用程序停止了。我知道“maxmemory”标志,但是否有一个软限制,我们有大约10%的空间,我们可以开始驱逐一些项目,这样应用程序就不会停止! 最佳答案 您是否设置了特定的驱逐政策?参见:驱逐政策http://redis.io/topics/lru-cache然后我会检查,以确保您没有无意中在您的redis对