标签: enyim

是否可以通过前缀获取/搜索Memcached密钥?

我正在写memcached很多键/值 - > PREFIX_KEY1,PREFIX_KEY2,PREFIX_KEY3

我需要获取所有以PREFIX_开头的键

可能吗?

memcached enyim

15
推荐指数
3
解决办法
2万
查看次数

如何确定Enyim memcache在存储项目时返回false的原因?

我怎样才能确定为什么Enyim从以下电话中返回false:

cache.Store(Enyim.Caching.Memcached.StoreMode.Set, key, value);
Run Code Online (Sandbox Code Playgroud)

其他项目存储得很好,因此连接到服务器似乎不是问题.该对象似乎不大于1 MB.

那么如何确定导致错误的原因呢?

.net c# memcached enyim

11
推荐指数
1
解决办法
4838
查看次数

Memcached依赖项

我正在使用memcahced(特别是Enyim memcached客户端),我希望能够根据其他密钥在缓存中创建密钥,即如果密钥A依赖于密钥B,那么每当密钥B被删除或更改时,密钥A也无效.

如果可能的话我也想,以确保数据的完整性保持在一个节点的集群中的失败的情况下,即,如果B密钥是在某些时候无法使用,键A应该还是无效的,如果B密钥应该成为无效.

基于这篇文章我相信这是可能的,但我很难理解这个算法足以说服自己如何/为什么这样做.

谁能帮我吗?

memcached caching enyim

7
推荐指数
2
解决办法
877
查看次数

防止与memcached的连接过多(Enyim Client)

我正在寻找有关处理打开memcached连接的有效解决方案的建议,给出FAQ引用:

记住,没有什么能阻止你多次意外连接.如果将memcached客户端对象实例化为您尝试存储的对象的一部分,那么当一个请求中的1,000个对象创建1,000个并行连接时,请不要感到惊讶.在跳到列表之前仔细查看这样的错误.

另请参阅:初始化Memcached客户端管理连接对象.

我考虑在缓存程序集中使用单例来提供memcached客户端,但我确信必须有更好的方法,因为锁会引入(不需要的?)开销.

我很清楚客户端的使用模式,我不清楚的是如何在可扩展性和性能方面有效地使用客户端.其他人如何处理使用memcached客户端?

这里有50美元的赏金给你.

.net performance memcached scalability enyim

6
推荐指数
1
解决办法
3133
查看次数

无法在memcached中存储复杂对象

我正在使用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是一个例子,但是使用简单的类它也不起作用

c# memcached enyim

5
推荐指数
1
解决办法
5277
查看次数

如何配置 EnyimMemcachedCore 来访问 AWS Lambda 中的 Elasticache?

我正在尝试将一个简单的 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 客户端,而不是在配置文件中)?

c# memcached enyim .net-core aws-lambda

5
推荐指数
1
解决办法
2755
查看次数

检索缓存中的所有项目

我最近起步Enyim Memcached并且运行良好.使用该库,我能够存储和检索项目没有问题.

但是,我想知道是否有办法从缓存中检索所有项目.我知道您可以通过其键检索项目:

  MemcachedClient client = new MemcachedClient()
  object o = client.Get("key");
Run Code Online (Sandbox Code Playgroud)

但我似乎无法看到一个GetAll()或类似的方法,我错过了什么?

c# memcached caching enyim

4
推荐指数
1
解决办法
3342
查看次数

使用IEnumerables序列化类 - 与Enyim Memcached一起使用

我的模型看起来像:

[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)

c# serialization memcached enyim

4
推荐指数
1
解决办法
1697
查看次数