社区首页 >问答首页 >仅从memcache读取实体(由Objectify保存),而不从磁盘读取

仅从memcache读取实体(由Objectify保存),而不从磁盘读取
EN

Stack Overflow用户
提问于 2018-02-05 14:26:14
回答 1查看 156关注 0票数 0

我只想从Memcache中读取实体。我知道它被驱逐的可能性很高,但对于这个场景来说,它并不是那么重要,即使在执行了这段代码之后,它仍然存在于Memcache中。

此实体与Objectify一起保存。我可以在Appengine控制台的Memcache中看到它,当使用namespace=ObjectifyCache搜索时,key=URL-safe-key,key-type=Java-String。

当我尝试使用本机方法获取它时,它返回null。

代码语言:javascript
代码运行次数:0
复制
MemcacheService cache = MemcacheServiceFactory.getMemcacheService(ObjectifyFactory.MEMCACHE_NAMESPACE);
cache.setErrorHandler(ErrorHandlers.getConsistentLogAndContinue(Level.INFO));

Object object = cache.get(KeyFactory.createKeyString("key", "name"));
if(object == null) {
    log(Level.WARNING, "null returned from memcache, " + KeyFactory.createKeyString("key", "name"));
    return;
}

MyPojo pojo = ofy().load().fromEntity((Entity) object);

我在这里有几个referred的问题,但它没有帮助,尽管它看起来很直接。我是不是漏掉了什么明显的东西?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-06 07:08:33

我确实遗漏了一些显而易见的东西。正如@stickfigure在此answer中指出的那样,save()delete()通过Objectify清除缓存中的条目,而load()再次填充它。我试图在保存后立即对其进行get()

我可以使用MemcacheService.Contains()方法来查看它是否是最近保存的,然后可以正常加载。

这可能不会总是给出预期的结果,因为条目可以随时从缓存中删除,但在我的情况下,它将节省数百万次读取操作,其中Entity出现在数据存储中的可能性小于1%。即使我因为被驱逐而错过了,也不会有太大的影响。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48624731

复制
相关文章
数据读取与保存
Sequence文件 SequenceFile文件是Hadoop用来存储二进制形式的key-value对而设计的一种平面文件(Flat File)。在SparkContext中,可以调用sequenceFile[keyClass, valueClass](path)。
用户1483438
2022/05/09
1K0
python读取文件——python读取和保存mat文件
    首先我们谈谈MarkDown编辑器,我感觉些倒是挺方便的,因为用惯了LaTeX,对于MarkDown还是比较容易上手的,但是我发现,MarkDown中有这样几个问题一直没能找到具体的解决方法:
felixzhao
2019/02/13
25.9K0
python读取文件——python读取和保存mat文件
    首先我们谈谈MarkDown编辑器,我感觉些倒是挺方便的,因为用惯了LaTeX,对于MarkDown还是比较容易上手的,但是我发现,MarkDown中有这样几个问题一直没能找到具体的解决方法: 图片大小的问题。在LaTeX中我们可以调整图片的大小,以适应整个文本; 字体,字号大小的设置。在MarkDown里面标题倒是挺大的,但是正文却显得太小,不是很喜欢里面的字体。 主要发现上面两个问题导致编辑出来的文本挺难看。 一、mat文件        mat数据格式是Matlab的数据存储的标准格式。在Ma
felixzhao
2018/03/16
6.9K0
python读取文件——python读取和保存mat文件
Python Cookie 读取和保存
#保存 cookie 到变量 import urllib.request import http.cookiejar cookie = http.cookiejar.CookieJar() handler = urllib.request.HTTPCookieProcessor(cookie) opener = urllib.request.build_opener(handler) response = opener.open('http://flights.ctrip.com/') for item
py3study
2020/01/08
1.6K0
python字典快速保存于读取
在使用python编程过程中,我们往往需要借助字典来提高编程效率。同时为了调试方便,我们希望将某些变量保存为中间文件。
py3study
2020/01/10
1.1K0
python机器学习 保存/读取模型
在做模型训练的时候,尤其是在训练集上做交叉验证,通常想要将模型保存下来,然后放到独立的测试集上测试,下面介绍的是Python中训练模型的保存和再使用。
用户7886150
2020/12/27
8570
LabVIEW保存、读取配置文件
在软件项目开发过程中避免不了要将数据保存到本地,例如,登录信息、账户、密码等。保存数据到本地的方式有很多种,本篇博文主要分享LabVIEW内置的保存、读取配置文件方法。
不脱发的程序猿
2022/04/13
1.9K0
LabVIEW保存、读取配置文件
磁盘文件读取——客户端存储
磁盘文件 指的是客户端操作系统本地文件系统中的文件,也经常直接被称作本地文件,但因为容易与沙箱文件系统的WEB本地文件系统相混淆,所以特意将名称区分了一下。
Html5知典
2019/11/26
1.5K0
【python-opencv】读取、显示、保存视频
要捕获视频,你需要创建一个 VideoCapture 对象。它的参数可以是设备索引或视频文件的名称。设备索引就是指定哪个摄像头的数字。正常情况下,一个摄像头会被连接(就像我的情况一样)。所以我简单地传0(或-1)。你可以通过传递1来选择第二个相机,以此类推。在此之后,你可以逐帧捕获。但是在最后,不要忘记释放俘虏。
西西嘛呦
2020/08/26
8K0
Ubuntu 18.04:磁盘读取性能不佳
如果在ubuntu1804上使用mysql,在做大量数据写入时,建议按照如下文档做优化,性能立即提高 2.5 倍:
yaohong
2021/09/08
8990
CentOS挂载读取ntfs格式的磁盘
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:zbxhhzj@qq.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。 转载本站文章请保留原文链接,如文章内说明不允许转载该文章,请不要转载该文章,谢谢合作。
会长君
2023/04/26
3.8K0
【转】Qt之JSON保存与读取
许多游戏提供保存功能,使得玩家在游戏中的进度可以被保存,并在以后再玩的时候进行加载。保存游戏的过程通常涉及将每个游戏对象的成员变量序列化为文件。要实现这个功能,可以采取许多格式,其中之一就是 JSON - 使用 QJsonDocument。如果不希望保存的文件可读,或者不需要保持文件大小,还能够以二进制格式序列化文档,这就厉害了O(∩_∩)O。
饶文津
2020/06/02
1.8K0
Android SMS(二)—— 读取短信保存到 SQLite
Android 之 SMS 短信在Android系统中是保存在SQLite数据库中的,但不让其它程序访问(Android系统的安全机制)
阳光岛主
2019/02/19
1.4K0
Android SMS(二)—— 读取短信保存到 SQLite
selenium+requests进行cookies保存读取操作
selenium操作很简单,这里不做详解讲解,以后我们开爬虫基础系列文章的时候会讲到。
星星在线
2018/08/21
2.8K0
selenium+requests进行cookies保存读取操作
OpenCV中图像的读取,显示与保存
相关函数:cv2.imread()、cv2.imshow()、cv2.imwrite()
py3study
2020/01/19
2.9K0
Python+OpenCV的图像读取、显示、保存
一、图像的读取 图像的读取主要函数是cv2.imread()。 函数格式:Mat cv::imread (const String & filename, int flags = IMREAD_COLOR) 功能:读取图片文件。 参数: windows位图:后缀名为bmp JPEG文件:后缀名为jpeg/jpg JPEG2000:后缀名为jp2 便携式网络图像文件:后缀名为png TIFF文件:后缀名为tiff/tif 参数二是整型的flag,标志,默认值为IMREAD_COLOR,取值有如下几种: IMREAD_UNCHANGED:如果设置,则按原样返回加载的图像(带有Alpha通道,否则会被裁剪)。 IMREAD_GRAYSCALE:如果设置,总是将图像转换为单通道灰度图像读入。 IMREAD_COLOR:如果设置,总是将图像转换为3通道BGR彩色图像读入。 IMREAD_ANYDEPTH:如果设置,当输入具有相应深度时返回16位/ 32位图像,否则将其转换为8位。 IMREAD_ANYCOLOR:如果设置,图像将以任何可能的颜色格式读取。 IMREAD_LOAD_GDAL:如果设置,总是使用GDAL驱动程序加载图像。 IMREAD_REDUCED_GRAYSCALE_2:如果设置,总是将图像转换为单通道灰度图像,图像尺寸减小1/2。 IMREAD_REDUCED_COLOR_2:如果设置,总是将图像转换为3通道BGR彩色图像,图像尺寸减小1/2。 IMREAD_REDUCED_GRAYSCALE_4:如果设置,总是将图像转换为单通道灰度图像,图像尺寸减小1/4。 IMREAD_REDUCED_COLOR_4:如果设置,总是将图像转换为3通道BGR彩色图像,图像尺寸减小1/4。 IMREAD_REDUCED_GRAYSCALE_8:如果设置,总是将图像转换为单通道灰度图像,图像尺寸减小1/8。 IMREAD_REDUCED_COLOR_8:如果设置,总是将图像转换为3通道BGR彩色图像,图像尺寸减小1/8 常用的是前三种。因为flags是整型,所以传入数值也行: flags >0:等同于IMREAD_COLOR。 flags =0:等同于 IMREAD_GRAYSCALE。 flags <0: 等同于IMREAD_UNCHANGED。 通常是给1、0、-1,给其他整型也是可以的。 返回值:Mat类型。从opencv2开始,用于存放图像的数据类型就是Mat, 二、图像的显示 图像读取后,下一步就是再把图像显示出来,主要函数有:cv2.namedWindows()、cv2.imshow()。再另外再介绍三个函数cv2.waitKey()、cv2.destroyWindow()、cv2.destroyAllWindows()。 2.1 cv2.namedWindows函数介绍 void cv::namedWindow (const String & winname,int flags = WINDOW_AUTOSIZE ) 功能:创建一个窗口。 参数:参数一是winname,给创建的窗口起一个名字,以后通过这个名字调用该窗口;参数二整型的flags,定义窗口的属性,默认值是WINDOW_AUTOSIZE,其他取值如下所示: WINDOW_NORMAL:用户可以调整窗口大小(不受约束)/也可以使用将全屏窗口切换为正常大小。 WINDOW_AUTOSIZE:用户无法调整窗口大小,窗口大小随显示图像的大小而变化。 WINDOW_OPENGL:带有opengl支持的窗口。 WINDOW_FULLSCREEN:将窗口更改为全屏。 WINDOW_FREERATIO:不遵循图像的比例调整图像后在窗口显示 WINDOW_KEEPRATIO:根据图像的比例调整图像后在窗口中显示 2.2 cv2.imshow函数介绍 void cv::imshow (const String & winname, InputArray mat ) 功能:在指定窗口显示图像。 参数:参数一是窗口名;参数二设置为要显示的图像。 注意此函数之后应该跟随函数waitKey,指定窗口显示多少毫秒。 2.3 cv2.waitKey函数介绍 int cv::waitKey (int delay = 0) 功能:等待按键或延迟多少毫秒。 参数:整型的delay,默认值是0。设置为0表示永久等待按键,设置为非零,表示延迟delay毫秒。该函数仅在创建至少一个窗口并且窗口处于活动状态时才起作用。 2.4 cv2.destroyWind
菲宇
2019/11/12
3.7K0
Spark学习之数据读取与保存(4)
本文介绍了Spark在数据读取与保存方面的功能,包括对文本文件、JSON文件以及Spark SQL中结构化数据的读取和保存操作。同时,还介绍了如何使用Spark进行数据的转换和处理,以完成数据的读取和保存。
王小雷
2018/01/02
1.1K0
Python数据分析之读取文件读取CSV读取Excel读取MySQL读取MongoDB
Python的数据分析,大部分的教程都是想讲numpy,再讲Dataframe,再讲读取文件。但我看书的时候,前面二章看的实在头晕,所以,我们还是通过读取文件来开始我们的Python数据分析吧。 读取
罗罗攀
2018/07/03
5.8K0
Tensorflow模型保存和读取tf.train.Saver
然后,在训练循环中,定期调用 saver.save() 方法,向文件夹中写入包含了当前模型中所有可训练变量的 checkpoint 文件。
周小董
2019/03/25
3.5K0
Tensorflow模型保存和读取tf.train.Saver
点击加载更多

相似问题

将实体保存到memcache,但不保存带有Objectify的磁盘

12

使用objectify将对象保存在memcache中

11

使objectify禁止memcache异常

10

Objectify不从Memchache加载

16

使用Objectify保存实体时出错

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文