草庐IT

memcache_mget

全部标签

networking - 使用 UDP 从 Memcached 中获取数据时丢包

我听说,像facebook这样的许多公司都在使用UDP从memcached中获取数据。我有疑问,他们如何确保没有数据包丢失并且接收数据包的顺序符合要求。据我们所知,tcp提供此类设施,但udp不提供。 最佳答案 OSI模型有7层,分别是:应用层表现层session层传输层网络层数据链路层物理层分层是解决问题的好方法,但这并不意味着您必须在网络层进行所有网络操作。正如您所提到的,当UDP不提供反馈时,TCP会向终端系统提供反馈,但UDP有其自身的优势。首先,UDP的数据报比TCP的数据报简单。而且大多数像Facebook这样的大型系统

java - Google App Engine 的 Memcache (Java) 是全局缓存吗?

我是GoogleAppEngine的新手,最近几天我一直在使用GAE的Memcache来构建一个应用程序来存储数据。根据我的初步发现,似乎GAE的Memcache不是全局的?让我进一步解释。我知道对GAE的不同请求可能由不同的实例提供服务(事实上这似乎经常发生)。正是出于这个原因,我使用Memcache来存储一些共享数据,而不是静态映射。我认为(也许是错误的)这就是使用分布式缓存的意义所在,这样数据就可以被任何节点访问。另一种确定的可能性是我做错了什么。我已经尝试过JCache和低级MemcacheAPI(我正在编写Java,而不是Python)。这就是我正在做的事情来检索缓存:Mem

java - 使用 memcached 获取 Java Play 框架以缓存 Ebean 实体

我正在运行JavaPlayframework版本v2.6.1并使用Ebean为了坚持。我的意图是获得beancaching正在使用play2-memcached插件。到目前为止我做了什么?在本地主机上安装了memcached并启用了详细日志记录。用build.sbt中的libraryDependencies中的cacheApi替换了ehcache依赖项(我认为,这应该删除Ehcache完全)。添加"com.github.mumoshu"%%"play2-memcached-play26"%"0.9.0",到build.sbt中的libraryDependencies在“http://f

python - memcache 和 python 字典的区别

在我当前的项目中,我使用Memcache来存储键值对,但是由于通信发生在我的进程和Memcache之间的套接字上,导致了巨大的延迟。我们使用内存缓存是因为我们需要存储大量的键值对。但是现在我想在我的过程中将字典存储为全局数据结构。这是好事吗?因为字典将存储在进程地址空间中。请提出建议.... 最佳答案 使用memcached的通常原因是您希望在多台机器上分布缓存,目的是让所有机器上的数据都可用,而还利用所有机器的存储。如果这些要求不适用于您,并且您只需要在一台机器上缓存数据,那么memcached不会为您提供那么多。在这种情况下,将

python - 在 Heroku 上使用 Memcache 时,我应该配置 Beaker 的 `session.lock_dir` 吗?

我正在将Pyramid应用程序的session配置从cookie切换到ext:memcached。我的应用程序托管在Heroku上,我已经配置了他们的memcacheaddon根据theirdocumentation.我从Beakerdocumentation了解到指定session.lock_dir对于防止dogpileeffect是必不可少的.明确地说:我必须提供目录的文件路径。Beaker然后将其用作某种锁,以防止多个客户端同时尝试设置相同的值。对我来说,这听起来像是糟糕的架构。Memcache的主要优点之一是它作为共享的外部服务工作。将我的应用程序进程绑定(bind)到磁盘绑定

java - CouchBase 与 Memcached 混合,失去了大多数 CouchDB 理念和功能?

截至目前,我使用较新版本的的唯一方法CouchBase,是通过一个memcachedClient。我使用Erlang作为编程语言,所以我为自己准备了一个ErlangMemcachedClient。我注意到这个客户端序列化和反序列化erlang术语(包括键和值),方法是在从memcached.在设置CouchBase时,系统会要求我们选择memcached存储桶或CouchBase存储桶(vbuckets)。现在,我选择了CouchBase(因为我需要坚持)。我开始使用erlangmemcached客户端与设置进行交互,没关系,我保存了erlang术语并从数据库中取回了erlang术语。

python - Memcached:AWS Elasticache 上的自动发现 python 支持?

我开始将AWSElasticache与我的django网络应用程序结合使用。我首先使用自动发现功能将缓存位置设置为唯一端点,但它似乎不起作用。我正在使用pylibmc(1.2.2)和django-pylibmc-sasl(0.2.4)从python连接到memcached。自动发现功能是否适用于这些客户端?如何启用它? 最佳答案 快速回答对于django是:django-elasticache长答案ElastiCache提供了memcached接口(interface),所以有三种使用方法:1。Memcached配置有locatio

python - 如何使用 Python Elasticsearch mget() API

我想使用elasticsearchpython的_mgetAPI获取具有多个ID的文档。我在Elasticsearch对象上使用es.mget()方法。但是,我不知道要提供什么作为body参数的参数。它应该是逗号分隔的ID列表还是提到_id的文档列表。两种方法我都试过了,但一直收到异常:elasticsearch.exceptions.RequestError 最佳答案 mget()当您通过文档ID检索多个文档时使用。您应该按描述传递body={'ids':[doc_id1,doc_id2]}ESMultiGETAPIes_clie

python - App Engine memcache/ndb.get_multi 的性能问题

在AppEngine(Python)中使用ndb.get_multi()从Memcache获取多个键时,我发现性能非常差。我正在获取约500个小对象,所有这些对象都在内存缓存中。如果我使用ndb.get_multi(keys)执行此操作,则需要1500毫秒或更多时间。以下是AppStats的典型输出:和如您所见,所有数据均由内存缓存提供。大多数时间被报告为在RPC调用之外。但是,我的代码尽可能少,所以如果时间花在CPU上,它必须在ndb中的某个地方:#Getsetofkeysforitems.Thisrunsveryquickly.item_keys=memcache.get(item

python - 如何获取 memcached 中特定项目的过期时间

在运行时,我想检索有关memcached中某些项目的过期时间信息。在memcached上没有找到相关的接口(interface)。我可以这样做吗?就像是:mc.get_expire_time('key')谢谢 最佳答案 Python内存缓存API不提供此类功能。但是,您可以远程登录到memcached以转储所有key和过期时间。>telnetlocalhost11211statsitems显示包含您的数据的slab。statsitemsSTATitems:12:number1108...END然后使用statscachedumpsl