草庐IT

MemCached

全部标签

caching - Cache put item并发和吞吐量

大多数CDN服务器对经常访问的内容使用缓存。场景:假设有人上传了一张非常热门的图片,并且来自同一位置的许多用户(1000)试图访问该图片。问题:假设网络服务器收到一个请求,首先检查它的缓存,它发现该图片的内容丢失并从CDN中提取内容。如果拉取需要x秒,服务器同时收到999个相同内容的请求。服务器是否会从服务器获取内容999次(因为服务器仍在拉取数据并且缓存中没有数据)并更新缓存?如果不是,服务器实现什么方案来避免这种情况。 最佳答案 可以在服务器端加锁,避免对CDN的请求过多。当服务器收到请求时:工作线程检查key是否存在。如果键存

caching - 带 memcached 或 NOSQL 数据库(如 MongoDB/CouchDB)的 RDMS?

有问题的数据主要是具有一对多关系的文本(例如HTML页面)。我知道可以在memcached中执行“缓存x天数”,但是在NOSQL中实现它有多容易?再次感谢您,如果我说得不对,我提前道歉 最佳答案 您需要详细说明您的问题以获得有意义的答案。特别是,除非您要处理非常大(至少数TB)的数据,否则您可以使用任一类型的系统实现您的目标而不会遇到任何重大问题。只要注意你在RDBMS上的模式/索引设计,它至少是可比较的,并且充其量只能让你的NoSQL解决方案大吃一惊,尤其是当你做任何比键/值查找更复杂的事情时。对我来说,它可以归结为:您更了解哪个

web-services - 将 spark 数据加载到 Mongo/Memcached 以供 Web 服务使用

我是spark的新手,有一个特定的工作流程相关问题。虽然这不是一个真正与编码相关的问题,但它更像是一个与spark功能相关的问题,我认为它在这里是合适的。如果您认为这个问题不适合SO,请随时将我重定向到正确的站点。所以这里是:1.我计划使用Spark的滑动窗口功能处理请求流并计算推荐模型。一旦计算出模型,Web服务是否可以直接从RDD查询和使用这些数据?如果是这样,谁能指出我如何实现这一点的一些示例代码?如果没有,我想将数据存储在memcached中,因为我存储的数据目前不是太大,它主要用于我使用Spark的内存迭代计算和流式支持目的,所以是可以将RDD数据加载到memcached中吗

ruby-on-rails - Rails/Heroku 的基于磁盘的缓存解决方案?

我构建了一个托管在Heroku上的RailsAPI。API使用memcached来缓存非常大的序列化对象以加快API响应时间。这很好用,但随着我的API获得更多流量,memcached的成本简直是疯了。现在我要为2.5GB支付160美元/月。有没有更划算的基于磁盘的解决方案(当然要牺牲速度)?有没有人尝试使用Mongo_Storegem在Rails中将MongoDB作为他们的cache_store?对于Heroku上的SSDMongoDB,价格/GB似乎要便宜3-7倍。例如,我可以以240美元/月的价格获得一个40GB的MongoDB集群。现在使用带有dalligem的Memcache

mongodb - 繁重的数学查询和 NoSQL 数据库

我有一个非常具体的数据格式和查询需求,我需要知道NoSQL数据库是否适合这个需求。我不是问“哪个数据库最好”。我对能力感兴趣。我需要以EAV样式存储数据。具有稀疏索引的文档存储非常适合这种情况。这样我就可以针对每个参数的值创建一个索引。查询时,只会触及需要的索引。例如,MongoDB就是完美的选择。这是需求#1。查询分两个阶段。第一个是“WHERE”的简单等价物,涉及一系列针对实数的操作。结果可能有数万条记录,但通常会有数千条记录。这是需求#2。第二阶段涉及繁重的数学运算,我必须对第一阶段的结果进行计算才能对它们进行排名。该数学涉及大量使用权力和更简单的操作。然后将结果按排名排序,并将

mongodb - 减轻 Web 应用服务器负载的缓存策略

什么是在网络服务器和应用服务器之间应用缓存层的好工具。基本要求:应用程序服务器需要一种方法来从缓存中删除项目并将项目放入缓存中并指定到期日期。网络服务器需要一种方法以非常轻量级、快速的方式从缓存中提取项目,而无需在应用程序服务器上分配线程。它不一定需要是分布式缓存(可从多台机器访问),但不会有什么坏处。我考虑过的策略:静态文件缓存。请求进入,被散列,如果文件存在我们提供它,如果不存在我们将请求路由到应用程序服务器。是高I/O问题还是并发导致的文件锁定问题?由于内存中的内核级缓存,文件系统实际上非常快是否准确。使用像mongodb或redis这样的键值数据库。这会将完成的HTML/JSO

php - Memcached 存储用户账户

我对使用内存缓存加速我的网站感到好奇。现在我有一个mysql表,其中包含key和电子邮件地址的列,用户使用他们的key登录,我查询数据库以检查它是否正确。电子邮件用于防止他们忘记key并希望重新发送。现在,显然每条记录都非常小(我认为大约19B)。您认为将所有(比如100万条记录)预加载到Memcached中并仅使用Mysql来保存永久记录是个好主意吗? 最佳答案 Memcached旨在成为处理键=值对的短期缓存解决方案。虽然理论上您可以将它用于类似的用途,但这并不是它的预期用途,老实说,我认为您不会真正从中获得任何好处。通常,使用

php - Memcached 不监听过期时间

我将Memcached与我用CodeIgniter编写的PHP网络应用程序结合使用。我使用这个Memcached库https://github.com/tomschlick/memcached-library当我缓存数据时,我将过期时间设置为7200,即2小时。模型查询片段:$result=$this->memcached_library->get(md5($sql));if(!$result){$cursor=$this->db->query($sql);$result=$cursor->row();$this->memcached_library->set(md5($sql),$r

php - 在 MySQL 中使用 NoSQL

我注意到MySQL可以将MemcachedNoSQL与InnoDB结合使用,但我无法检索到有关如何使用它的信息。我想使用PHP。NoSQL查询是标准的吗? 最佳答案 首先,MySQL从5.6版本开始只支持带有NoSQL的memcached。今天这个版本还没有在linux存储库中更新,必须手动安装,特别是在服务器中,例如MySQL--version(ubuntu)是5.5.38;(红帽服务器)5.1您还必须安装libevent-dev例如:仍然需要一些技巧,您必须为位于$MYSQL_HOME/share的MySQL安装内存缓存接口(i

mysql - 实现大型数据集 : MySQL MEMORY(HEAP), Memcached 或其他的快速查找

目前正在从事一个以称为SNOMED的医学命名法为中心的项目。snomed的核心是三个关系数据集,长度分别为350,000、110万和130万条记录。我们希望能够快速查询此数据集以获取我们希望具有某种形状或形式的自动完成/建议的数据输入部分。它目前在MySQLMyISAM数据库中仅用于开发目的,但我们想开始使用一些内存选项。目前包括索引在内的大小为30MB+90MB+70MB。MEMORYMySQL引擎和MemCached是显而易见的,所以我的问题是您会推荐其中的哪一个,或者是否有更好的东西?如果有所不同,我们主要在应用程序级别使用Python。此外,我们还在即将迁移到4GBDDR2的单