有没有办法使用Java在Google App Engine的memcache中按键值对存储和检索元数据?
我试图以多个1MB段的形式缓存大小超过1MB的对象,并在元数据中存储段数。
答案 0 :(得分:0)
考虑创建使用否则不会出现在常规键中的字符的特殊键,例如,通过在键上附加后缀,使它们不与常规键冲突。
例如,假设您的密钥与正则表达式[A-Za-z0-9]+
匹配;然后,您可以使用密钥,例如foobar42
并创建特殊元数据密钥,例如foobar42#metadata
,您知道该密钥不是有效密钥。
然后,当您将密钥foobar42
存储为具有任意值时,首先创建密钥foobar42#metadata
并在其中存储特殊块,例如,JSON或协议缓冲区,表示您可以找到foobar42#chunk-0
,foobar42#chunk-1
等中的值的块。
同样,当您查找或删除密钥时,首先要查看是否存在元数据密钥,如果存在,请使用其他逻辑进行连接(如果查找)或删除其他条目,这样就不会让搁浅的数据占用额外的数据空间。