我正在写memcached很多键/值 - > PREFIX_KEY1,PREFIX_KEY2,PREFIX_KEY3
我需要获取所有以PREFIX_开头的键
可能吗?
我怎样才能确定为什么Enyim从以下电话中返回false:
cache.Store(Enyim.Caching.Memcached.StoreMode.Set, key, value);
Run Code Online (Sandbox Code Playgroud)
其他项目存储得很好,因此连接到服务器似乎不是问题.该对象似乎不大于1 MB.
那么如何确定导致错误的原因呢?
我正在使用memcahced(特别是Enyim memcached客户端),我希望能够根据其他密钥在缓存中创建密钥,即如果密钥A依赖于密钥B,那么每当密钥B被删除或更改时,密钥A也无效.
如果可能的话我也想,以确保数据的完整性保持在一个节点的集群中的失败的情况下,即,如果B密钥是在某些时候无法使用,键A应该还是无效的,如果B密钥应该成为无效.
基于这篇文章我相信这是可能的,但我很难理解这个算法足以说服自己如何/为什么这样做.
谁能帮我吗?
我正在寻找有关处理打开memcached连接的有效解决方案的建议,给出FAQ引用:
记住,没有什么能阻止你多次意外连接.如果将memcached客户端对象实例化为您尝试存储的对象的一部分,那么当一个请求中的1,000个对象创建1,000个并行连接时,请不要感到惊讶.在跳到列表之前仔细查看这样的错误.
另请参阅:初始化Memcached客户端和管理连接对象.
我考虑在缓存程序集中使用单例来提供memcached客户端,但我确信必须有更好的方法,因为锁会引入(不需要的?)开销.
我很清楚客户端的使用模式,我不清楚的是如何在可扩展性和性能方面有效地使用客户端.其他人如何处理使用memcached客户端?
这里有50美元的赏金给你.
我正在使用Enyim.Caching memcached客户端用于C#服务器是http://memcached.org在最新版本的ubuntu上
MemcachedClient mc = new MemcachedClient();
XmlDocument xmlDocument = new XmlDocument();
mc.Store(StoreMode.Set, "foo", xmlDocument);
object myXml= mc.Get("foo");
Run Code Online (Sandbox Code Playgroud)
并且myXml为null,为什么有一种存储我的对象的方法.目的:我正在尝试在我的代码中替换HttpCache用于Memcached但是使用HttpCache我可以将复杂对象添加到缓存中.
这里XmlDocument是一个例子,但是使用简单的类它也不起作用
我正在尝试将一个简单的 memcached 客户端从 .NET 4 移植到 AWS Lambda 上的 .Net Core。我正在努力配置新的 EnyimMemcachedCore 客户端,因为示例 ( https://github.com/cnblogs/EnyimMemcachedCore ) 使用 appsettings.json 来设置配置,但使用 .net core 的 Lambda 函数不使用 appsettings.json。我需要能够在 C# 代码中设置服务器/端口/端点。
谁能给我一个使用 EnyimMemcachedCore 手动创建配置的示例?
Enyim 的标准 .net 使用很简单,可以通过键获取并返回值:
using Enyim.Caching;
using Enyim.Caching.Configuration;
using Enyim.Caching.Memcached;
...
// setup Enyim memcached client
MemcachedClient myCache;
MemcachedClientConfiguration config;
config = new MemcachedClientConfiguration();
config.AddServer("theIP", thePort);
config.Protocol = MemcachedProtocol.Text;
// instantiate client
myCache = new MemcachedClient(config);
// get the stored item
var result = myCache.Get(key);
Run Code Online (Sandbox Code Playgroud)
如何使用 EnyimMemcachedCore 执行类似的操作(在代码中配置 memcached 客户端,而不是在配置文件中)?
我最近起步Enyim Memcached并且运行良好.使用该库,我能够存储和检索项目没有问题.
但是,我想知道是否有办法从缓存中检索所有项目.我知道您可以通过其键检索项目:
MemcachedClient client = new MemcachedClient()
object o = client.Get("key");
Run Code Online (Sandbox Code Playgroud)
但我似乎无法看到一个GetAll()或类似的方法,我错过了什么?
我的模型看起来像:
[Serializable]
public class TemplatePageModel
{
public PageModel Page { get; set; }
public SidebarModel Sidebar { get; set; }
}
[Serializable]
public class PageModel
{
public IEnumerable<SectionModel> Section { get; set; }
}
[Serializable]
public class SidebarModel
{
public IEnumerable<ControlModel> Control { get; set; }
}
[Serializable]
public class SectionModel
{
public string Order { get; set; }
public string Editable { get; set; }
public string Column { get; set; }
public string Text { get; set; } …Run Code Online (Sandbox Code Playgroud) enyim ×8
memcached ×8
c# ×5
.net ×2
caching ×2
.net-core ×1
aws-lambda ×1
performance ×1
scalability ×1