@@ -23,7 +23,7 @@ public T Get<T>(string key)
23
23
24
24
return result ;
25
25
}
26
-
26
+
27
27
public bool Add < T > ( CacheItem < T > value )
28
28
{
29
29
var cacheManager = GetCacheManager < T > ( ) ;
@@ -32,7 +32,7 @@ public bool Add<T>(CacheItem<T> value)
32
32
33
33
return result ;
34
34
}
35
-
35
+
36
36
public bool Add < T > ( string key , T value )
37
37
{
38
38
var cacheManager = GetCacheManager < T > ( ) ;
@@ -41,25 +41,53 @@ public bool Add<T>(string key, T value)
41
41
42
42
return result ;
43
43
}
44
-
44
+
45
45
public CacheItem < T > GetOrAdd < T > ( string key , Func < string , CacheItem < T > > valueFactory )
46
46
{
47
47
var cacheManager = GetCacheManager < T > ( ) ;
48
-
48
+
49
49
cacheManager . TryGetOrAdd ( key , _region , ( k , r ) => valueFactory ( key ) , out var result ) ;
50
50
51
51
return result ;
52
52
}
53
-
53
+
54
54
public T GetOrAdd < T > ( string key , Func < string , T > valueFactory )
55
55
{
56
56
var cacheManager = GetCacheManager < T > ( ) ;
57
-
57
+
58
58
cacheManager . TryGetOrAdd ( key , _region , ( k , r ) => valueFactory ( key ) , out var result ) ;
59
59
60
60
return result ;
61
61
}
62
-
62
+
63
+ public T Update < T > ( string key , Func < T , T > updateValue )
64
+ {
65
+ var cacheManager = GetCacheManager < T > ( ) ;
66
+ return cacheManager . Update ( key , _region , updateValue ) ;
67
+ }
68
+
69
+
70
+ public T AddOrUpdate < T > ( string key , T addValue , Func < T , T > updateValue )
71
+ {
72
+ var cacheManager = GetCacheManager < T > ( ) ;
73
+
74
+ return cacheManager . AddOrUpdate ( key , _region , addValue , updateValue ) ;
75
+ }
76
+
77
+ public void Put < T > ( string key , T value )
78
+ {
79
+ var cacheManager = GetCacheManager < T > ( ) ;
80
+
81
+ cacheManager . Put ( key , value , _region ) ;
82
+ }
83
+
84
+ public void Expire < T > ( string key , ExpirationMode expirationMode , TimeSpan timeout )
85
+ {
86
+ var cacheManager = GetCacheManager < T > ( ) ;
87
+
88
+ cacheManager . Expire ( key , _region , expirationMode , timeout ) ;
89
+ }
90
+
63
91
public bool Remove < T > ( string key )
64
92
{
65
93
var cacheManager = GetCacheManager < T > ( ) ;
@@ -81,26 +109,57 @@ public Task<T> GetAsync<T>(string key)
81
109
{
82
110
return Get < T > ( key ) . AsResult ( ) ;
83
111
}
84
-
112
+
85
113
public Task < T > GetOrAddAsync < T > ( string key , Func < string , T > valueFactory )
86
114
{
87
115
return GetOrAdd ( key , valueFactory ) . AsResult ( ) ;
88
116
}
89
-
117
+
90
118
public Task < CacheItem < T > > GetOrAddAsync < T > ( string key , Func < string , CacheItem < T > > valueFactory )
91
119
{
92
120
return GetOrAdd ( key , valueFactory ) . AsResult ( ) ;
93
121
}
94
-
122
+
95
123
public Task < bool > AddAsync < T > ( string key , T value )
96
124
{
97
125
return Add ( key , value ) . AsResult ( ) ;
98
126
}
99
-
127
+
100
128
public Task < bool > RemoveAsync < T > ( string key )
101
129
{
102
130
return Remove < T > ( key ) . AsResult ( ) ;
103
131
}
132
+
133
+ public Task < T > UpdateAsync < T > ( string key , Func < T , T > updateValue )
134
+ {
135
+ var cacheManager = GetCacheManager < T > ( ) ;
136
+ return cacheManager . Update ( key , _region , updateValue ) . AsResult ( ) ;
137
+ }
138
+
139
+
140
+ public Task < T > AddOrUpdateAsync < T > ( string key , T addValue , Func < T , T > updateValue )
141
+ {
142
+ var cacheManager = GetCacheManager < T > ( ) ;
143
+
144
+ return cacheManager . AddOrUpdate ( key , _region , addValue , updateValue ) . AsResult ( ) ;
145
+ }
146
+
147
+ public Task PutAsync < T > ( string key , T value )
148
+ {
149
+ var cacheManager = GetCacheManager < T > ( ) ;
150
+
151
+ cacheManager . Put ( key , value , _region ) ;
152
+ return Task . Run ( ( ) => { } ) ;
153
+ }
154
+
155
+ public Task ExpireAsync < T > ( string key , ExpirationMode expirationMode , TimeSpan timeout )
156
+ {
157
+ var cacheManager = GetCacheManager < T > ( ) ;
158
+
159
+ cacheManager . Expire ( key , _region , expirationMode , timeout ) ;
160
+
161
+ return Task . Run ( ( ) => { } ) ;
162
+ }
104
163
105
164
public Task ClearAsync ( string region )
106
165
{
@@ -109,7 +168,7 @@ public Task ClearAsync(string region)
109
168
110
169
public Task ClearAllAsync ( )
111
170
{
112
- return Task . Run ( ( ) => ClearAll ( ) ) ;
171
+ return Task . Run ( ( ) => ClearAll ( ) ) ;
113
172
}
114
173
115
174
private ICacheManager < T > GetCacheManager < T > ( )
0 commit comments