-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathEnyimMemCachedCore.linq
70 lines (58 loc) · 2.28 KB
/
EnyimMemCachedCore.linq
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<Query Kind="Program">
<Reference><RuntimeDirectory>\System.Configuration.dll</Reference>
<Reference><RuntimeDirectory>\System.Design.dll</Reference>
<Reference><RuntimeDirectory>\System.DirectoryServices.dll</Reference>
<Reference><RuntimeDirectory>\System.EnterpriseServices.dll</Reference>
<Reference><RuntimeDirectory>\System.Web.dll</Reference>
<Reference><RuntimeDirectory>\System.Web.Services.dll</Reference>
<NuGetReference>EnyimMemcachedCore</NuGetReference>
<NuGetReference>Microsoft.Extensions.Configuration</NuGetReference>
<NuGetReference>Microsoft.Extensions.DependencyInjection</NuGetReference>
<NuGetReference>Microsoft.Extensions.Logging</NuGetReference>
<NuGetReference>Newtonsoft.Json</NuGetReference>
<Namespace>Enyim.Caching</Namespace>
<Namespace>Enyim.Caching.Memcached</Namespace>
<Namespace>Enyim.Caching.Memcached.Transcoders</Namespace>
<Namespace>Microsoft.Extensions.Configuration</Namespace>
<Namespace>Microsoft.Extensions.DependencyInjection</Namespace>
<Namespace>Newtonsoft.Json</Namespace>
<Namespace>Newtonsoft.Json.Linq</Namespace>
</Query>
void Main()
{
//The memcached docker image must be online.
//
//docker run --name fancy_image_pants -p 11211:11211 -d memcached memcached -m 64
MemcachedClient _client;
IServiceCollection services = new ServiceCollection();
var configuration = new ConfigurationBuilder().Build();
services.AddSingleton<IConfiguration>(configuration);
services.AddEnyimMemcached(options =>
{
options.AddServer("127.0.0.1", 11211);
});
services.AddLogging();
//services.AddSingleton<ITranscoder, BinaryFormatterTranscoder>();
IServiceProvider serviceProvider = services.BuildServiceProvider();
_client = serviceProvider.GetService<IMemcachedClient>() as MemcachedClient;
var p = new Parent() { Name = "Jaxel", ParentId = 1};
var mr = _client.ExecuteStore(Enyim.Caching.Memcached.StoreMode.Set, "Keyyy", p);
var r = _client.GetAsync<Parent>("Keyyy");
r.Result.Dump();
if (r.Result.Success)
{
var parent = r.Result.Value;
parent.Dump();
}
var t = _client.ExecuteRemove("Keyyy");
if (t.Success)
{
t.Dump("Removed");
}
}
// Define other methods and classes here
public class Parent
{
public int ParentId { get; set; }
public string Name { get; set; }
}