diff --git a/lib/nuget-create.bat b/lib/nuget-create.bat
index 26fd6bd..62eb4e3 100644
--- a/lib/nuget-create.bat
+++ b/lib/nuget-create.bat
@@ -1,12 +1,12 @@
-nuget pack ../src/TagCache.Redis/TagCache.Redis.csproj -Build -Symbols -Properties Configuration=Release -OutputDirectory nuget
-
-nuget pack ../src/TagCache.Redis.Json.Net/TagCache.Redis.Json.Net.csproj -Build -Symbols -Properties Configuration=Release -OutputDirectory nuget/TagCache.Redis.Json.Net
-
-nuget pack ../src/TagCache.Redis.ProtoBuf/TagCache.Redis.ProtoBuf.csproj -Build -Symbols -Properties Configuration=Release -OutputDirectory nuget/TagCache.Redis.ProtoBuf
-
-nuget pack ../src/TagCache.Redis.FastJson/TagCache.Redis.FastJson.csproj -Build -Symbols -Properties Configuration=Release -OutputDirectory nuget/TagCache.Redis.FastJson
-
-nuget pack ../src/TagCache.Redis.Migrant/TagCache.Redis.Migrant.csproj -Build -Symbols -Properties Configuration=Release -OutputDirectory nuget/TagCache.Redis.Migrant
-
-nuget pack ../src/TagCache.Redis.MessagePack/TagCache.Redis.MessagePack.csproj -Build -Symbols -Properties Configuration=Release -OutputDirectory nuget/TagCache.Redis.MessagePack
-
+nuget pack ../src/TagCache.Redis/TagCache.Redis.csproj -Build -Symbols -Properties Configuration=Release -OutputDirectory nuget
+
+nuget pack ../src/TagCache.Redis.Json.Net/TagCache.Redis.Json.Net.csproj -Build -Symbols -Properties Configuration=Release -OutputDirectory nuget/TagCache.Redis.Json.Net
+
+nuget pack ../src/TagCache.Redis.ProtoBuf/TagCache.Redis.ProtoBuf.csproj -Build -Symbols -Properties Configuration=Release -OutputDirectory nuget/TagCache.Redis.ProtoBuf
+
+nuget pack ../src/TagCache.Redis.FastJson/TagCache.Redis.FastJson.csproj -Build -Symbols -Properties Configuration=Release -OutputDirectory nuget/TagCache.Redis.FastJson
+
+nuget pack ../src/TagCache.Redis.Migrant/TagCache.Redis.Migrant.csproj -Build -Symbols -Properties Configuration=Release -OutputDirectory nuget/TagCache.Redis.Migrant
+
+nuget pack ../src/TagCache.Redis.MessagePack/TagCache.Redis.MessagePack.csproj -Build -Symbols -Properties Configuration=Release -OutputDirectory nuget/TagCache.Redis.MessagePack
+
diff --git a/src/SampleMvcSite/SampleMvcSite.csproj b/src/SampleMvcSite/SampleMvcSite.csproj
index dca2760..a327bcc 100644
--- a/src/SampleMvcSite/SampleMvcSite.csproj
+++ b/src/SampleMvcSite/SampleMvcSite.csproj
@@ -21,6 +21,12 @@
+ true
+
+
+
+
+ 12.0
true
diff --git a/src/TagCache.Redis.FastJson/FastJsonSerializationProvider.cs b/src/TagCache.Redis.FastJson/FastJsonSerializationProvider.cs
index c34cc8d..449eccf 100644
--- a/src/TagCache.Redis.FastJson/FastJsonSerializationProvider.cs
+++ b/src/TagCache.Redis.FastJson/FastJsonSerializationProvider.cs
@@ -1,18 +1,18 @@
-using StackExchange.Redis;
-using TagCache.Redis.Interfaces;
-
-namespace TagCache.Redis.FastJson
-{
- public class FastJsonSerializationProvider : ISerializationProvider
- {
- public T Deserialize(RedisValue value) where T : class
- {
- return fastJSON.JSON.ToObject(value);
- }
-
- public RedisValue Serialize(T value) where T : class
- {
- return fastJSON.JSON.ToJSON(value);
- }
- }
+using StackExchange.Redis;
+using TagCache.Redis.Interfaces;
+
+namespace TagCache.Redis.FastJson
+{
+ public class FastJsonSerializationProvider : ISerializationProvider
+ {
+ public T Deserialize(RedisValue value) where T : class
+ {
+ return fastJSON.JSON.ToObject(value);
+ }
+
+ public RedisValue Serialize(T value) where T : class
+ {
+ return fastJSON.JSON.ToJSON(value);
+ }
+ }
}
\ No newline at end of file
diff --git a/src/TagCache.Redis.FastJson/Properties/AssemblyInfo.cs b/src/TagCache.Redis.FastJson/Properties/AssemblyInfo.cs
index 3a279a6..d545878 100644
--- a/src/TagCache.Redis.FastJson/Properties/AssemblyInfo.cs
+++ b/src/TagCache.Redis.FastJson/Properties/AssemblyInfo.cs
@@ -1,4 +1,4 @@
-using System.Reflection;
-[assembly: AssemblyTitle("TagCache.Redis.FastJson")]
-[assembly: AssemblyDescription("FastJSON serialization for TagCache.Redis")]
-[assembly: AssemblyProduct("TagCache.Redis.FastJson")]
+using System.Reflection;
+[assembly: AssemblyTitle("TagCache.Redis.FastJson")]
+[assembly: AssemblyDescription("FastJSON serialization for TagCache.Redis")]
+[assembly: AssemblyProduct("TagCache.Redis.FastJson")]
diff --git a/src/TagCache.Redis.FastJson/TagCache.Redis.FastJson.csproj b/src/TagCache.Redis.FastJson/TagCache.Redis.FastJson.csproj
index 81eef5f..1533ca1 100644
--- a/src/TagCache.Redis.FastJson/TagCache.Redis.FastJson.csproj
+++ b/src/TagCache.Redis.FastJson/TagCache.Redis.FastJson.csproj
@@ -1,75 +1,75 @@
-
-
-
-
- Debug
- AnyCPU
- {0089EEE8-9DFD-41C0-9128-70BEE1C253D8}
- Library
- Properties
- TagCache.Redis.FastJson
- TagCache.Redis.FastJson
- v4.5
- 512
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
- False
- ..\packages\fastJSON.2.1.9.0\lib\net40\fastjson.dll
-
-
- ..\packages\StackExchange.Redis.1.0.394\lib\net45\StackExchange.Redis.dll
- True
-
-
-
-
-
-
-
-
-
-
-
- Properties\AssemblyInfo.Shared.cs
-
-
-
-
-
-
-
-
-
-
-
- {280f50ba-1633-4de0-8c6f-77f82290d214}
- TagCache.Redis
-
-
-
-
+
+
+
+
+ Debug
+ AnyCPU
+ {0089EEE8-9DFD-41C0-9128-70BEE1C253D8}
+ Library
+ Properties
+ TagCache.Redis.FastJson
+ TagCache.Redis.FastJson
+ v4.5
+ 512
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ False
+ ..\packages\fastJSON.2.1.9.0\lib\net40\fastjson.dll
+
+
+ ..\packages\StackExchange.Redis.1.0.394\lib\net45\StackExchange.Redis.dll
+ True
+
+
+
+
+
+
+
+
+
+
+
+ Properties\AssemblyInfo.Shared.cs
+
+
+
+
+
+
+
+
+
+
+
+ {280f50ba-1633-4de0-8c6f-77f82290d214}
+ TagCache.Redis
+
+
+
+
\ No newline at end of file
diff --git a/src/TagCache.Redis.FastJson/packages.config b/src/TagCache.Redis.FastJson/packages.config
index b160483..abc98c1 100644
--- a/src/TagCache.Redis.FastJson/packages.config
+++ b/src/TagCache.Redis.FastJson/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/src/TagCache.Redis.Json.Net/Properties/AssemblyInfo.cs b/src/TagCache.Redis.Json.Net/Properties/AssemblyInfo.cs
index 043174c..485c049 100644
--- a/src/TagCache.Redis.Json.Net/Properties/AssemblyInfo.cs
+++ b/src/TagCache.Redis.Json.Net/Properties/AssemblyInfo.cs
@@ -1,4 +1,4 @@
-using System.Reflection;
-[assembly: AssemblyTitle("TagCache.Redis.Json.Net")]
-[assembly: AssemblyDescription("JSON.NET serialization for TagCache.Redis")]
+using System.Reflection;
+[assembly: AssemblyTitle("TagCache.Redis.Json.Net")]
+[assembly: AssemblyDescription("JSON.NET serialization for TagCache.Redis")]
[assembly: AssemblyProduct("TagCache.Redis.Json.Net")]
\ No newline at end of file
diff --git a/src/TagCache.Redis.Json.Net/TagCache.Redis.Json.Net.csproj b/src/TagCache.Redis.Json.Net/TagCache.Redis.Json.Net.csproj
index 150dbcb..ab127dc 100644
--- a/src/TagCache.Redis.Json.Net/TagCache.Redis.Json.Net.csproj
+++ b/src/TagCache.Redis.Json.Net/TagCache.Redis.Json.Net.csproj
@@ -1,75 +1,75 @@
-
-
-
-
- Debug
- AnyCPU
- {35F435C4-0445-4240-A9D6-58275DA96624}
- Library
- Properties
- TagCache.Redis.Json.Net
- TagCache.Redis.Json.Net
- v4.5
- 512
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
- False
- ..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll
-
-
- ..\packages\StackExchange.Redis.1.0.394\lib\net45\StackExchange.Redis.dll
- True
-
-
-
-
-
-
-
-
-
-
-
- Properties\AssemblyInfo.Shared.cs
-
-
-
-
-
-
-
-
-
-
-
- {280f50ba-1633-4de0-8c6f-77f82290d214}
- TagCache.Redis
-
-
-
-
+
+
+
+
+ Debug
+ AnyCPU
+ {35F435C4-0445-4240-A9D6-58275DA96624}
+ Library
+ Properties
+ TagCache.Redis.Json.Net
+ TagCache.Redis.Json.Net
+ v4.5
+ 512
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ False
+ ..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll
+
+
+ ..\packages\StackExchange.Redis.1.0.394\lib\net45\StackExchange.Redis.dll
+ True
+
+
+
+
+
+
+
+
+
+
+
+ Properties\AssemblyInfo.Shared.cs
+
+
+
+
+
+
+
+
+
+
+
+ {280f50ba-1633-4de0-8c6f-77f82290d214}
+ TagCache.Redis
+
+
+
+
\ No newline at end of file
diff --git a/src/TagCache.Redis.Json.Net/packages.config b/src/TagCache.Redis.Json.Net/packages.config
index 263bfcc..bab7255 100644
--- a/src/TagCache.Redis.Json.Net/packages.config
+++ b/src/TagCache.Redis.Json.Net/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/src/TagCache.Redis.MessagePack/CacheConfiguration.cs b/src/TagCache.Redis.MessagePack/CacheConfiguration.cs
index 7580b7c..b0698c9 100644
--- a/src/TagCache.Redis.MessagePack/CacheConfiguration.cs
+++ b/src/TagCache.Redis.MessagePack/CacheConfiguration.cs
@@ -1,11 +1,11 @@
-namespace TagCache.Redis.MessagePack
-{
- public class CacheConfiguration : Redis.CacheConfiguration
- {
- public CacheConfiguration(RedisConnectionManager connectionManager) : base(connectionManager)
- {
- Serializer = new MessagePackSerializationProvider();
- }
-
- }
-}
+namespace TagCache.Redis.MessagePack
+{
+ public class CacheConfiguration : Redis.CacheConfiguration
+ {
+ public CacheConfiguration(RedisConnectionManager connectionManager) : base(connectionManager)
+ {
+ Serializer = new MessagePackSerializationProvider();
+ }
+
+ }
+}
diff --git a/src/TagCache.Redis.MessagePack/MessagePackSerializationProvider.cs b/src/TagCache.Redis.MessagePack/MessagePackSerializationProvider.cs
index b5c3e72..1fb7e63 100644
--- a/src/TagCache.Redis.MessagePack/MessagePackSerializationProvider.cs
+++ b/src/TagCache.Redis.MessagePack/MessagePackSerializationProvider.cs
@@ -1,27 +1,27 @@
-using System.IO;
-using StackExchange.Redis;
-using TagCache.Redis.Interfaces;
-using MsgPack.Serialization;
-
-namespace TagCache.Redis.MessagePack
-{
- public class MessagePackSerializationProvider : ISerializationProvider
- {
- public T Deserialize(RedisValue value) where T : class
- {
- using (var stream = new MemoryStream(value))
- {
- return SerializationContext.Default.GetSerializer().Unpack(stream);
- }
- }
-
- public RedisValue Serialize(T value) where T : class
- {
- using (var stream = new MemoryStream())
- {
- SerializationContext.Default.GetSerializer().Pack(stream, value);
- return stream.ToArray();
- }
- }
- }
-}
+using System.IO;
+using StackExchange.Redis;
+using TagCache.Redis.Interfaces;
+using MsgPack.Serialization;
+
+namespace TagCache.Redis.MessagePack
+{
+ public class MessagePackSerializationProvider : ISerializationProvider
+ {
+ public T Deserialize(RedisValue value) where T : class
+ {
+ using (var stream = new MemoryStream(value))
+ {
+ return SerializationContext.Default.GetSerializer().Unpack(stream);
+ }
+ }
+
+ public RedisValue Serialize(T value) where T : class
+ {
+ using (var stream = new MemoryStream())
+ {
+ SerializationContext.Default.GetSerializer().Pack(stream, value);
+ return stream.ToArray();
+ }
+ }
+ }
+}
diff --git a/src/TagCache.Redis.MessagePack/Properties/AssemblyInfo.cs b/src/TagCache.Redis.MessagePack/Properties/AssemblyInfo.cs
index 3da7a56..8d9114e 100644
--- a/src/TagCache.Redis.MessagePack/Properties/AssemblyInfo.cs
+++ b/src/TagCache.Redis.MessagePack/Properties/AssemblyInfo.cs
@@ -1,4 +1,4 @@
-using System.Reflection;
-[assembly: AssemblyTitle("TagCache.Redis.MessagePack")]
-[assembly: AssemblyDescription("MessagePack serialization for TagCache.Redis")]
-[assembly: AssemblyProduct("TagCache.Redis.MessagePack")]
+using System.Reflection;
+[assembly: AssemblyTitle("TagCache.Redis.MessagePack")]
+[assembly: AssemblyDescription("MessagePack serialization for TagCache.Redis")]
+[assembly: AssemblyProduct("TagCache.Redis.MessagePack")]
diff --git a/src/TagCache.Redis.MessagePack/TagCache.Redis.MessagePack.csproj b/src/TagCache.Redis.MessagePack/TagCache.Redis.MessagePack.csproj
index be886ab..7dd1de8 100644
--- a/src/TagCache.Redis.MessagePack/TagCache.Redis.MessagePack.csproj
+++ b/src/TagCache.Redis.MessagePack/TagCache.Redis.MessagePack.csproj
@@ -1,75 +1,75 @@
-
-
-
-
- Debug
- AnyCPU
- {02FF6CC4-69E3-40F5-9ED5-2B3830A13E7D}
- Library
- Properties
- TagCache.Redis.MessagePack
- TagCache.Redis.MessagePack
- v4.5
- 512
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
- False
- ..\packages\MsgPack.Cli.0.5.10\lib\net45\MsgPack.dll
-
-
- ..\packages\StackExchange.Redis.1.0.394\lib\net45\StackExchange.Redis.dll
- True
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Properties\AssemblyInfo.Shared.cs
-
-
-
-
-
-
- {280f50ba-1633-4de0-8c6f-77f82290d214}
- TagCache.Redis
-
-
-
-
+
+
+
+
+ Debug
+ AnyCPU
+ {02FF6CC4-69E3-40F5-9ED5-2B3830A13E7D}
+ Library
+ Properties
+ TagCache.Redis.MessagePack
+ TagCache.Redis.MessagePack
+ v4.5
+ 512
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ False
+ ..\packages\MsgPack.Cli.0.5.10\lib\net45\MsgPack.dll
+
+
+ ..\packages\StackExchange.Redis.1.0.394\lib\net45\StackExchange.Redis.dll
+ True
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Properties\AssemblyInfo.Shared.cs
+
+
+
+
+
+
+ {280f50ba-1633-4de0-8c6f-77f82290d214}
+ TagCache.Redis
+
+
+
+
\ No newline at end of file
diff --git a/src/TagCache.Redis.MessagePack/packages.config b/src/TagCache.Redis.MessagePack/packages.config
index 215bd11..203a58c 100644
--- a/src/TagCache.Redis.MessagePack/packages.config
+++ b/src/TagCache.Redis.MessagePack/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/src/TagCache.Redis.Migrant/CacheConfiguration.cs b/src/TagCache.Redis.Migrant/CacheConfiguration.cs
index 701a42c..731ee2e 100644
--- a/src/TagCache.Redis.Migrant/CacheConfiguration.cs
+++ b/src/TagCache.Redis.Migrant/CacheConfiguration.cs
@@ -1,11 +1,11 @@
-namespace TagCache.Redis.Migrant
-{
- public class CacheConfiguration : Redis.CacheConfiguration
- {
- public CacheConfiguration(RedisConnectionManager connectionManager) : base(connectionManager)
- {
- Serializer = new MigrantSerializationProvider();
- }
-
- }
-}
+namespace TagCache.Redis.Migrant
+{
+ public class CacheConfiguration : Redis.CacheConfiguration
+ {
+ public CacheConfiguration(RedisConnectionManager connectionManager) : base(connectionManager)
+ {
+ Serializer = new MigrantSerializationProvider();
+ }
+
+ }
+}
diff --git a/src/TagCache.Redis.Migrant/MigrantSerializationProvider.cs b/src/TagCache.Redis.Migrant/MigrantSerializationProvider.cs
index f169c7c..7a3606e 100644
--- a/src/TagCache.Redis.Migrant/MigrantSerializationProvider.cs
+++ b/src/TagCache.Redis.Migrant/MigrantSerializationProvider.cs
@@ -1,30 +1,30 @@
-using System.IO;
-using Antmicro.Migrant;
-using Antmicro.Migrant.Customization;
-using StackExchange.Redis;
-using TagCache.Redis.Interfaces;
-
-namespace TagCache.Redis.Migrant
-{
- public class MigrantSerializationProvider : ISerializationProvider
- {
- public T Deserialize(RedisValue value) where T : class
- {
- using (var stream = new MemoryStream(value))
- {
- T result;
- new Serializer(new Settings(supportForISerializable: true)).TryDeserialize(stream, out result);
- return result;
- }
- }
-
- public RedisValue Serialize(T value) where T : class
- {
- using (var stream = new MemoryStream())
- {
- new Serializer(new Settings(supportForISerializable: true)).Serialize(value, stream);
- return stream.ToArray();
- }
- }
- }
-}
+using System.IO;
+using Antmicro.Migrant;
+using Antmicro.Migrant.Customization;
+using StackExchange.Redis;
+using TagCache.Redis.Interfaces;
+
+namespace TagCache.Redis.Migrant
+{
+ public class MigrantSerializationProvider : ISerializationProvider
+ {
+ public T Deserialize(RedisValue value) where T : class
+ {
+ using (var stream = new MemoryStream(value))
+ {
+ T result;
+ new Serializer(new Settings(supportForISerializable: true)).TryDeserialize(stream, out result);
+ return result;
+ }
+ }
+
+ public RedisValue Serialize(T value) where T : class
+ {
+ using (var stream = new MemoryStream())
+ {
+ new Serializer(new Settings(supportForISerializable: true)).Serialize(value, stream);
+ return stream.ToArray();
+ }
+ }
+ }
+}
diff --git a/src/TagCache.Redis.Migrant/Properties/AssemblyInfo.cs b/src/TagCache.Redis.Migrant/Properties/AssemblyInfo.cs
index a61418d..ab55d06 100644
--- a/src/TagCache.Redis.Migrant/Properties/AssemblyInfo.cs
+++ b/src/TagCache.Redis.Migrant/Properties/AssemblyInfo.cs
@@ -1,4 +1,4 @@
-using System.Reflection;
-[assembly: AssemblyTitle("TagCache.Redis.Migrant")]
-[assembly: AssemblyDescription("Migrant serializer for TagCache.Redis")]
+using System.Reflection;
+[assembly: AssemblyTitle("TagCache.Redis.Migrant")]
+[assembly: AssemblyDescription("Migrant serializer for TagCache.Redis")]
[assembly: AssemblyProduct("TagCache.Redis.Migrant")]
\ No newline at end of file
diff --git a/src/TagCache.Redis.Migrant/TagCache.Redis.Migrant.csproj b/src/TagCache.Redis.Migrant/TagCache.Redis.Migrant.csproj
index 6b81fe6..730066b 100644
--- a/src/TagCache.Redis.Migrant/TagCache.Redis.Migrant.csproj
+++ b/src/TagCache.Redis.Migrant/TagCache.Redis.Migrant.csproj
@@ -1,75 +1,75 @@
-
-
-
-
- Debug
- AnyCPU
- {53054978-2E7B-46E9-A2B2-A32D88A63340}
- Library
- Properties
- TagCache.Redis.Migrant
- TagCache.Redis.Migrant
- v4.5
- 512
-
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
- False
- ..\packages\Migrant.0.9.4\lib\net40\Migrant.dll
-
-
- ..\packages\StackExchange.Redis.1.0.394\lib\net45\StackExchange.Redis.dll
- True
-
-
-
-
-
-
-
-
-
-
-
- Properties\AssemblyInfo.Shared.cs
-
-
-
-
-
-
-
-
-
-
-
- {280f50ba-1633-4de0-8c6f-77f82290d214}
- TagCache.Redis
-
-
-
-
+
+
+
+
+ Debug
+ AnyCPU
+ {53054978-2E7B-46E9-A2B2-A32D88A63340}
+ Library
+ Properties
+ TagCache.Redis.Migrant
+ TagCache.Redis.Migrant
+ v4.5
+ 512
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ False
+ ..\packages\Migrant.0.9.4\lib\net40\Migrant.dll
+
+
+ ..\packages\StackExchange.Redis.1.0.394\lib\net45\StackExchange.Redis.dll
+ True
+
+
+
+
+
+
+
+
+
+
+
+ Properties\AssemblyInfo.Shared.cs
+
+
+
+
+
+
+
+
+
+
+
+ {280f50ba-1633-4de0-8c6f-77f82290d214}
+ TagCache.Redis
+
+
+
+
\ No newline at end of file
diff --git a/src/TagCache.Redis.Migrant/packages.config b/src/TagCache.Redis.Migrant/packages.config
index aa90c48..e40a038 100644
--- a/src/TagCache.Redis.Migrant/packages.config
+++ b/src/TagCache.Redis.Migrant/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/src/TagCache.Redis.ProtoBuf/CacheConfiguration.cs b/src/TagCache.Redis.ProtoBuf/CacheConfiguration.cs
index c119e5c..ef5668c 100644
--- a/src/TagCache.Redis.ProtoBuf/CacheConfiguration.cs
+++ b/src/TagCache.Redis.ProtoBuf/CacheConfiguration.cs
@@ -1,11 +1,11 @@
-namespace TagCache.Redis.ProtoBuf
-{
- public class CacheConfiguration : Redis.CacheConfiguration
- {
- public CacheConfiguration(RedisConnectionManager connectionManager) : base(connectionManager)
- {
- Serializer = new ProtoBufSerializationProvider(new ProtobufSerializationConfiguration());
- CacheItemFactory = new ProtobufRedisCacheItemFactory();
- }
- }
-}
+namespace TagCache.Redis.ProtoBuf
+{
+ public class CacheConfiguration : Redis.CacheConfiguration
+ {
+ public CacheConfiguration(RedisConnectionManager connectionManager) : base(connectionManager)
+ {
+ Serializer = new ProtoBufSerializationProvider(new ProtobufSerializationConfiguration());
+ CacheItemFactory = new ProtobufRedisCacheItemFactory();
+ }
+ }
+}
diff --git a/src/TagCache.Redis.ProtoBuf/ISerializerBuilder.cs b/src/TagCache.Redis.ProtoBuf/ISerializerBuilder.cs
index 4c35bc5..d1e4e25 100644
--- a/src/TagCache.Redis.ProtoBuf/ISerializerBuilder.cs
+++ b/src/TagCache.Redis.ProtoBuf/ISerializerBuilder.cs
@@ -1,14 +1,14 @@
-namespace TagCache.Redis.ProtoBuf
-{
- ///
- /// An interface for Protobuf serializer builders.
- ///
- public interface ISerializerBuilder
- {
- ///
- /// Builds the serializer for the specified type.
- ///
- /// The type.
- void Build();
- }
-}
+namespace TagCache.Redis.ProtoBuf
+{
+ ///
+ /// An interface for Protobuf serializer builders.
+ ///
+ public interface ISerializerBuilder
+ {
+ ///
+ /// Builds the serializer for the specified type.
+ ///
+ /// The type.
+ void Build();
+ }
+}
diff --git a/src/TagCache.Redis.ProtoBuf/ProtobufSerializationConfiguration.cs b/src/TagCache.Redis.ProtoBuf/ProtobufSerializationConfiguration.cs
index 2eada03..d71871e 100644
--- a/src/TagCache.Redis.ProtoBuf/ProtobufSerializationConfiguration.cs
+++ b/src/TagCache.Redis.ProtoBuf/ProtobufSerializationConfiguration.cs
@@ -1,7 +1,7 @@
-namespace TagCache.Redis.ProtoBuf
-{
- public class ProtobufSerializationConfiguration
- {
- public ISerializerBuilder BuildSerializers { get; set; }
- }
+namespace TagCache.Redis.ProtoBuf
+{
+ public class ProtobufSerializationConfiguration
+ {
+ public ISerializerBuilder BuildSerializers { get; set; }
+ }
}
\ No newline at end of file
diff --git a/src/TagCache.Redis.Tests/RedisCacheProviderBinaryTests.cs b/src/TagCache.Redis.Tests/RedisCacheProviderBinaryTests.cs
index 30b995a..860c29b 100644
--- a/src/TagCache.Redis.Tests/RedisCacheProviderBinaryTests.cs
+++ b/src/TagCache.Redis.Tests/RedisCacheProviderBinaryTests.cs
@@ -1,17 +1,17 @@
-using NUnit.Framework;
-using TagCache.Redis.Serialization;
-
-namespace TagCache.Redis.Tests
-{
- [TestFixture(Category = "Binary Serializer tests")]
- public class RedisCacheProviderBinaryTests : RedisCacheProviderTests
- {
- protected override CacheConfiguration NewCacheConfiguration(RedisConnectionManager connection)
- {
- return new CacheConfiguration(connection)
- {
- Serializer = new BinarySerializationProvider()
- };
- }
- }
+using NUnit.Framework;
+using TagCache.Redis.Serialization;
+
+namespace TagCache.Redis.Tests
+{
+ [TestFixture(Category = "Binary Serializer tests")]
+ public class RedisCacheProviderBinaryTests : RedisCacheProviderTests
+ {
+ protected override CacheConfiguration NewCacheConfiguration(RedisConnectionManager connection)
+ {
+ return new CacheConfiguration(connection)
+ {
+ Serializer = new BinarySerializationProvider()
+ };
+ }
+ }
}
\ No newline at end of file
diff --git a/src/TagCache.Redis.Tests/RedisCacheProviderFastJsonTests.cs b/src/TagCache.Redis.Tests/RedisCacheProviderFastJsonTests.cs
index 6725ffb..e6184f4 100644
--- a/src/TagCache.Redis.Tests/RedisCacheProviderFastJsonTests.cs
+++ b/src/TagCache.Redis.Tests/RedisCacheProviderFastJsonTests.cs
@@ -1,17 +1,17 @@
-using NUnit.Framework;
-using TagCache.Redis.FastJson;
-
-namespace TagCache.Redis.Tests
-{
- [TestFixture(Category = "Fast JSON tests")]
- public class RedisCacheProviderFastJsonTests : RedisCacheProviderTests
- {
- protected override CacheConfiguration NewCacheConfiguration(RedisConnectionManager connection)
- {
- return new CacheConfiguration(connection)
- {
- Serializer = new FastJsonSerializationProvider()
- };
- }
- }
+using NUnit.Framework;
+using TagCache.Redis.FastJson;
+
+namespace TagCache.Redis.Tests
+{
+ [TestFixture(Category = "Fast JSON tests")]
+ public class RedisCacheProviderFastJsonTests : RedisCacheProviderTests
+ {
+ protected override CacheConfiguration NewCacheConfiguration(RedisConnectionManager connection)
+ {
+ return new CacheConfiguration(connection)
+ {
+ Serializer = new FastJsonSerializationProvider()
+ };
+ }
+ }
}
\ No newline at end of file
diff --git a/src/TagCache.Redis.Tests/RedisCacheProviderMessagePackTests.cs b/src/TagCache.Redis.Tests/RedisCacheProviderMessagePackTests.cs
index fcae747..22ba9ec 100644
--- a/src/TagCache.Redis.Tests/RedisCacheProviderMessagePackTests.cs
+++ b/src/TagCache.Redis.Tests/RedisCacheProviderMessagePackTests.cs
@@ -1,17 +1,17 @@
-using NUnit.Framework;
-using TagCache.Redis.MessagePack;
-
-namespace TagCache.Redis.Tests
-{
- [TestFixture(Category = "MsgPack tests")]
- public class RedisCacheProviderMessagePackTests : RedisCacheProviderTests
- {
- protected override CacheConfiguration NewCacheConfiguration(RedisConnectionManager connection)
- {
- return new CacheConfiguration(connection)
- {
- Serializer = new MessagePackSerializationProvider()
- };
- }
- }
+using NUnit.Framework;
+using TagCache.Redis.MessagePack;
+
+namespace TagCache.Redis.Tests
+{
+ [TestFixture(Category = "MsgPack tests")]
+ public class RedisCacheProviderMessagePackTests : RedisCacheProviderTests
+ {
+ protected override CacheConfiguration NewCacheConfiguration(RedisConnectionManager connection)
+ {
+ return new CacheConfiguration(connection)
+ {
+ Serializer = new MessagePackSerializationProvider()
+ };
+ }
+ }
}
\ No newline at end of file
diff --git a/src/TagCache.Redis.Tests/RedisCacheProviderMigrantTests.cs b/src/TagCache.Redis.Tests/RedisCacheProviderMigrantTests.cs
index 7c8a717..296899d 100644
--- a/src/TagCache.Redis.Tests/RedisCacheProviderMigrantTests.cs
+++ b/src/TagCache.Redis.Tests/RedisCacheProviderMigrantTests.cs
@@ -1,13 +1,13 @@
-using NUnit.Framework;
-
-namespace TagCache.Redis.Tests
-{
- [TestFixture(Category = "Migrant tests")]
- public class RedisCacheProviderMigrantTests : RedisCacheProviderTests
- {
- protected override CacheConfiguration NewCacheConfiguration(RedisConnectionManager connection)
- {
- return new CacheConfiguration(connection);
- }
- }
+using NUnit.Framework;
+
+namespace TagCache.Redis.Tests
+{
+ [TestFixture(Category = "Migrant tests")]
+ public class RedisCacheProviderMigrantTests : RedisCacheProviderTests
+ {
+ protected override CacheConfiguration NewCacheConfiguration(RedisConnectionManager connection)
+ {
+ return new CacheConfiguration(connection);
+ }
+ }
}
\ No newline at end of file
diff --git a/src/TagCache.Redis.Tests/RedisCacheProviderProtoBufTests.cs b/src/TagCache.Redis.Tests/RedisCacheProviderProtoBufTests.cs
index 15c1020..a056310 100644
--- a/src/TagCache.Redis.Tests/RedisCacheProviderProtoBufTests.cs
+++ b/src/TagCache.Redis.Tests/RedisCacheProviderProtoBufTests.cs
@@ -1,17 +1,17 @@
-using NUnit.Framework;
-using TagCache.Redis.ProtoBuf;
-
-namespace TagCache.Redis.Tests
-{
- [TestFixture(Category = "Proto-buf tests")]
- public class RedisCacheProviderProtoBufTests : RedisCacheProviderTests
- {
- protected override CacheConfiguration NewCacheConfiguration(RedisConnectionManager connection)
- {
- return new ProtoBuf.CacheConfiguration(connection)
- {
- CacheItemFactory = new ProtobufRedisCacheItemFactory()
- };
- }
- }
+using NUnit.Framework;
+using TagCache.Redis.ProtoBuf;
+
+namespace TagCache.Redis.Tests
+{
+ [TestFixture(Category = "Proto-buf tests")]
+ public class RedisCacheProviderProtoBufTests : RedisCacheProviderTests
+ {
+ protected override CacheConfiguration NewCacheConfiguration(RedisConnectionManager connection)
+ {
+ return new ProtoBuf.CacheConfiguration(connection)
+ {
+ CacheItemFactory = new ProtobufRedisCacheItemFactory()
+ };
+ }
+ }
}
\ No newline at end of file
diff --git a/src/TagCache.Redis.Tests/RedisCacheProviderXmlTests.cs b/src/TagCache.Redis.Tests/RedisCacheProviderXmlTests.cs
index 1872197..b6f70e6 100644
--- a/src/TagCache.Redis.Tests/RedisCacheProviderXmlTests.cs
+++ b/src/TagCache.Redis.Tests/RedisCacheProviderXmlTests.cs
@@ -1,17 +1,17 @@
-using NUnit.Framework;
-using TagCache.Redis.Serialization;
-
-namespace TagCache.Redis.Tests
-{
- [TestFixture]
- public class RedisCacheProviderXmlTests : RedisCacheProviderTests
- {
- protected override CacheConfiguration NewCacheConfiguration(RedisConnectionManager connection)
- {
- return new CacheConfiguration(connection)
- {
- Serializer = new XmlSerializationProvider()
- };
- }
- }
+using NUnit.Framework;
+using TagCache.Redis.Serialization;
+
+namespace TagCache.Redis.Tests
+{
+ [TestFixture]
+ public class RedisCacheProviderXmlTests : RedisCacheProviderTests
+ {
+ protected override CacheConfiguration NewCacheConfiguration(RedisConnectionManager connection)
+ {
+ return new CacheConfiguration(connection)
+ {
+ Serializer = new XmlSerializationProvider()
+ };
+ }
+ }
}
\ No newline at end of file
diff --git a/src/TagCache.Redis.Tests/Serialization/FastJsonSerializationProviderTests.cs b/src/TagCache.Redis.Tests/Serialization/FastJsonSerializationProviderTests.cs
index b76ee52..92721f3 100644
--- a/src/TagCache.Redis.Tests/Serialization/FastJsonSerializationProviderTests.cs
+++ b/src/TagCache.Redis.Tests/Serialization/FastJsonSerializationProviderTests.cs
@@ -1,56 +1,56 @@
-using NUnit.Framework;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using TagCache.Redis.FastJson;
-
-namespace TagCache.Redis.Tests.Serialization
-{
- [TestFixture]
- public class FastJsonSerializationProviderTests
- {
-
- [Test]
- public void Serialize_RedisCacheItem_ReturnsString()
- {
- var value = new RedisCacheItem
- {
- Expires = new DateTime(2014, 01, 02),
- Key = "JsonSerializationProviderTests.Key",
- Value = "Test",
- Tags = new List{ "tag1", "tag2", "tag3" }
- };
-
- var serializer = new FastJsonSerializationProvider();
-
- var result = serializer.Serialize(value);
-
- Assert.IsNotNull(result);
- }
-
- [Test]
- public void Deserialize_SerializedString_ReturnsRedisCacheItem()
- {
- var value = new RedisCacheItem
- {
- Expires = new DateTime(2015, 01, 02),
- Key = "JsonSerializationProviderTests.Key",
- Value = "Test",
- Tags = new List { "tag1", "tag2", "tag3" }
- };
-
- var serializer = new FastJsonSerializationProvider();
-
- var serialized = serializer.Serialize(value);
-
- var result = serializer.Deserialize>(serialized);
-
-
- Assert.IsNotNull(result);
- Assert.AreEqual(value.Expires, result.Expires);
- Assert.AreEqual(value.Key, result.Key);
- Assert.AreEqual(value.Value, result.Value);
- Assert.IsTrue((value.Tags.Count() == result.Tags.Count()) && !value.Tags.Except(result.Tags).Any());
- }
- }
-}
+using NUnit.Framework;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using TagCache.Redis.FastJson;
+
+namespace TagCache.Redis.Tests.Serialization
+{
+ [TestFixture]
+ public class FastJsonSerializationProviderTests
+ {
+
+ [Test]
+ public void Serialize_RedisCacheItem_ReturnsString()
+ {
+ var value = new RedisCacheItem
+ {
+ Expires = new DateTime(2014, 01, 02),
+ Key = "JsonSerializationProviderTests.Key",
+ Value = "Test",
+ Tags = new List{ "tag1", "tag2", "tag3" }
+ };
+
+ var serializer = new FastJsonSerializationProvider();
+
+ var result = serializer.Serialize(value);
+
+ Assert.IsNotNull(result);
+ }
+
+ [Test]
+ public void Deserialize_SerializedString_ReturnsRedisCacheItem()
+ {
+ var value = new RedisCacheItem
+ {
+ Expires = new DateTime(2015, 01, 02),
+ Key = "JsonSerializationProviderTests.Key",
+ Value = "Test",
+ Tags = new List { "tag1", "tag2", "tag3" }
+ };
+
+ var serializer = new FastJsonSerializationProvider();
+
+ var serialized = serializer.Serialize(value);
+
+ var result = serializer.Deserialize>(serialized);
+
+
+ Assert.IsNotNull(result);
+ Assert.AreEqual(value.Expires, result.Expires);
+ Assert.AreEqual(value.Key, result.Key);
+ Assert.AreEqual(value.Value, result.Value);
+ Assert.IsTrue((value.Tags.Count() == result.Tags.Count()) && !value.Tags.Except(result.Tags).Any());
+ }
+ }
+}
diff --git a/src/TagCache.Redis.Tests/Serialization/MessagePackSerializationProviderTests.cs b/src/TagCache.Redis.Tests/Serialization/MessagePackSerializationProviderTests.cs
index d72794a..14f0f1c 100644
--- a/src/TagCache.Redis.Tests/Serialization/MessagePackSerializationProviderTests.cs
+++ b/src/TagCache.Redis.Tests/Serialization/MessagePackSerializationProviderTests.cs
@@ -1,15 +1,15 @@
-using NUnit.Framework;
-using TagCache.Redis.Interfaces;
-using TagCache.Redis.MessagePack;
-
-namespace TagCache.Redis.Tests.Serialization
-{
- [TestFixture]
- public class MessagePackSerializationProviderTests : SerializationProviderTestsBase>
- {
- protected override ISerializationProvider GetSerializer()
- {
- return new MessagePackSerializationProvider();
- }
- }
+using NUnit.Framework;
+using TagCache.Redis.Interfaces;
+using TagCache.Redis.MessagePack;
+
+namespace TagCache.Redis.Tests.Serialization
+{
+ [TestFixture]
+ public class MessagePackSerializationProviderTests : SerializationProviderTestsBase>
+ {
+ protected override ISerializationProvider GetSerializer()
+ {
+ return new MessagePackSerializationProvider();
+ }
+ }
}
\ No newline at end of file
diff --git a/src/TagCache.Redis.Tests/Serialization/MigrantSerializationProviderTests.cs b/src/TagCache.Redis.Tests/Serialization/MigrantSerializationProviderTests.cs
index caeb6cf..d885ce6 100644
--- a/src/TagCache.Redis.Tests/Serialization/MigrantSerializationProviderTests.cs
+++ b/src/TagCache.Redis.Tests/Serialization/MigrantSerializationProviderTests.cs
@@ -1,15 +1,15 @@
-using NUnit.Framework;
-using TagCache.Redis.Interfaces;
-using TagCache.Redis.Migrant;
-
-namespace TagCache.Redis.Tests.Serialization
-{
- [TestFixture(Category = "Migrant tests,serialization")]
- public class MigrantSerializationProviderTests : SerializationProviderTestsBase>
- {
- protected override ISerializationProvider GetSerializer()
- {
- return new MigrantSerializationProvider();
- }
- }
+using NUnit.Framework;
+using TagCache.Redis.Interfaces;
+using TagCache.Redis.Migrant;
+
+namespace TagCache.Redis.Tests.Serialization
+{
+ [TestFixture(Category = "Migrant tests,serialization")]
+ public class MigrantSerializationProviderTests : SerializationProviderTestsBase>
+ {
+ protected override ISerializationProvider GetSerializer()
+ {
+ return new MigrantSerializationProvider();
+ }
+ }
}
\ No newline at end of file
diff --git a/src/TagCache.Redis.Tests/Serialization/SerializationProviderTestsBase.cs b/src/TagCache.Redis.Tests/Serialization/SerializationProviderTestsBase.cs
index 07b39b7..30b824f 100644
--- a/src/TagCache.Redis.Tests/Serialization/SerializationProviderTestsBase.cs
+++ b/src/TagCache.Redis.Tests/Serialization/SerializationProviderTestsBase.cs
@@ -1,141 +1,141 @@
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Linq;
-using NUnit.Framework;
-using ProtoBuf.Meta;
-using TagCache.Redis.Interfaces;
-using TagCache.Redis.ProtoBuf;
-
-namespace TagCache.Redis.Tests.Serialization
-{
- public abstract class SerializationProviderTestsBase where TCacheItem : class, IRedisCacheItem, new()
- {
- ///
- /// Setups this instance.
- ///
- [TestFixtureSetUp]
- public void Setup()
- {
- if (GetSerializer() is ProtoBufSerializationProvider)
- {
- //Setup attributeless serialization settings for TestObject.
- var testObjectType = RuntimeTypeModel.Default.Add(typeof(TestObject), false);
- testObjectType.Add("Foo", "Bar", "Score", "SomeList", "Child");
-
- //Setup attributeless serialization settings for RedisCacheItem.
- var redisCacheItemType = RuntimeTypeModel.Default.Add(typeof(RedisCacheItem), false);
- redisCacheItemType.Add("Key", "Tags", "Expires", "Value");
- }
- }
-
- protected TCacheItem CreateTestObject()
- {
- var value = new TCacheItem
- {
- Expires = new DateTime(2014, 01, 02).ToUniversalTime(),
- Key = GetSerializer().GetType().Name + "Tests.Key",
- Value = new TestObject
- {
- Bar = "Hello",
- Foo = "World",
- Score = 789001,
- },
- Tags = new List { "tag1", "tag2", "tag3" }
- };
-
- value.Value.SomeList = new List();
- for (int i = 0; i < 20; i++)
- {
- value.Value.SomeList.Add(Guid.NewGuid().ToString());
- }
-
- return value;
- }
-
- protected abstract ISerializationProvider GetSerializer();
-
-
- [Test]
- public void Serialize_RedisCacheItem_ReturnsString()
- {
- var value = CreateTestObject();
-
- var serializer = GetSerializer();
-
- var result = serializer.Serialize(value);
-
- Assert.IsNotNull(result);
- }
-
-
- [Test]
- public void Deserialize_SerializedString_ReturnsRedisCacheItem()
- {
- var value = CreateTestObject();
-
- var serializer = GetSerializer();
-
- var serialized = serializer.Serialize(value);
-
- var result = serializer.Deserialize(serialized);
-
- Assert.IsNotNull(result);
- Assert.AreEqual(value.Expires, result.Expires);
- Assert.AreEqual(value.Key, result.Key);
- Assert.NotNull(result.Value);
- Assert.AreEqual(value.Value.Foo, result.Value.Foo);
- Assert.IsTrue((value.Tags.Count() == result.Tags.Count()) && !value.Tags.Except(result.Tags).Any());
- }
-
-
- [Category("Benchmarks")]
- [Test]
- public void BenchmarkSerialize()
- {
- int count = 1000;
-
- var value = CreateTestObject();
-
- var serializer = GetSerializer();
-
- var serialized = serializer.Serialize(value); // warmup
-
- var stopwatch = new Stopwatch();
- stopwatch.Start();
- for (int i = 0; i < count; i++)
- {
- serialized = serializer.Serialize(value);
- }
- stopwatch.Stop();
-
- Console.Write("{0} items serialised in {1}ms = {2}ms/item using {3}", count, stopwatch.ElapsedMilliseconds, (double)stopwatch.ElapsedMilliseconds / count, serializer.GetType().Name);
- }
-
-
- [Category("Benchmarks")]
- [Test]
- public void BenchmarkDeserialize()
- {
- int count = 1000;
-
- var value = CreateTestObject();
-
- var serializer = GetSerializer();
-
- var serialized = serializer.Serialize(value); // warmup
- var deserialized = serializer.Deserialize(serialized); // warmup
-
- var stopwatch = new Stopwatch();
- stopwatch.Start();
- for (int i = 0; i < count; i++)
- {
- deserialized = serializer.Deserialize(serialized); // warmup
- }
- stopwatch.Stop();
-
- Console.Write("{0} items deserialised in {1}ms = {2}ms/item using {3}", count, stopwatch.ElapsedMilliseconds, (double)stopwatch.ElapsedMilliseconds / count, serializer.GetType().Name);
- }
-
- }
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using NUnit.Framework;
+using ProtoBuf.Meta;
+using TagCache.Redis.Interfaces;
+using TagCache.Redis.ProtoBuf;
+
+namespace TagCache.Redis.Tests.Serialization
+{
+ public abstract class SerializationProviderTestsBase where TCacheItem : class, IRedisCacheItem, new()
+ {
+ ///
+ /// Setups this instance.
+ ///
+ [TestFixtureSetUp]
+ public void Setup()
+ {
+ if (GetSerializer() is ProtoBufSerializationProvider)
+ {
+ //Setup attributeless serialization settings for TestObject.
+ var testObjectType = RuntimeTypeModel.Default.Add(typeof(TestObject), false);
+ testObjectType.Add("Foo", "Bar", "Score", "SomeList", "Child");
+
+ //Setup attributeless serialization settings for RedisCacheItem.
+ var redisCacheItemType = RuntimeTypeModel.Default.Add(typeof(RedisCacheItem), false);
+ redisCacheItemType.Add("Key", "Tags", "Expires", "Value");
+ }
+ }
+
+ protected TCacheItem CreateTestObject()
+ {
+ var value = new TCacheItem
+ {
+ Expires = new DateTime(2014, 01, 02).ToUniversalTime(),
+ Key = GetSerializer().GetType().Name + "Tests.Key",
+ Value = new TestObject
+ {
+ Bar = "Hello",
+ Foo = "World",
+ Score = 789001,
+ },
+ Tags = new List { "tag1", "tag2", "tag3" }
+ };
+
+ value.Value.SomeList = new List();
+ for (int i = 0; i < 20; i++)
+ {
+ value.Value.SomeList.Add(Guid.NewGuid().ToString());
+ }
+
+ return value;
+ }
+
+ protected abstract ISerializationProvider GetSerializer();
+
+
+ [Test]
+ public void Serialize_RedisCacheItem_ReturnsString()
+ {
+ var value = CreateTestObject();
+
+ var serializer = GetSerializer();
+
+ var result = serializer.Serialize(value);
+
+ Assert.IsNotNull(result);
+ }
+
+
+ [Test]
+ public void Deserialize_SerializedString_ReturnsRedisCacheItem()
+ {
+ var value = CreateTestObject();
+
+ var serializer = GetSerializer();
+
+ var serialized = serializer.Serialize(value);
+
+ var result = serializer.Deserialize(serialized);
+
+ Assert.IsNotNull(result);
+ Assert.AreEqual(value.Expires, result.Expires);
+ Assert.AreEqual(value.Key, result.Key);
+ Assert.NotNull(result.Value);
+ Assert.AreEqual(value.Value.Foo, result.Value.Foo);
+ Assert.IsTrue((value.Tags.Count() == result.Tags.Count()) && !value.Tags.Except(result.Tags).Any());
+ }
+
+
+ [Category("Benchmarks")]
+ [Test]
+ public void BenchmarkSerialize()
+ {
+ int count = 1000;
+
+ var value = CreateTestObject();
+
+ var serializer = GetSerializer();
+
+ var serialized = serializer.Serialize(value); // warmup
+
+ var stopwatch = new Stopwatch();
+ stopwatch.Start();
+ for (int i = 0; i < count; i++)
+ {
+ serialized = serializer.Serialize(value);
+ }
+ stopwatch.Stop();
+
+ Console.Write("{0} items serialised in {1}ms = {2}ms/item using {3}", count, stopwatch.ElapsedMilliseconds, (double)stopwatch.ElapsedMilliseconds / count, serializer.GetType().Name);
+ }
+
+
+ [Category("Benchmarks")]
+ [Test]
+ public void BenchmarkDeserialize()
+ {
+ int count = 1000;
+
+ var value = CreateTestObject();
+
+ var serializer = GetSerializer();
+
+ var serialized = serializer.Serialize(value); // warmup
+ var deserialized = serializer.Deserialize(serialized); // warmup
+
+ var stopwatch = new Stopwatch();
+ stopwatch.Start();
+ for (int i = 0; i < count; i++)
+ {
+ deserialized = serializer.Deserialize(serialized); // warmup
+ }
+ stopwatch.Stop();
+
+ Console.Write("{0} items deserialised in {1}ms = {2}ms/item using {3}", count, stopwatch.ElapsedMilliseconds, (double)stopwatch.ElapsedMilliseconds / count, serializer.GetType().Name);
+ }
+
+ }
}
\ No newline at end of file
diff --git a/src/TagCache.Redis.sln b/src/TagCache.Redis.sln
index 06b23b1..efe8e9e 100644
--- a/src/TagCache.Redis.sln
+++ b/src/TagCache.Redis.sln
@@ -1,14 +1,8 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.21005.1
+# Visual Studio 14
+VisualStudioVersion = 14.0.22609.0
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TagCache.Redis", "TagCache.Redis\TagCache.Redis.csproj", "{280F50BA-1633-4DE0-8C6F-77F82290D214}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TagCache.Redis.Tests", "TagCache.Redis.Tests\TagCache.Redis.Tests.csproj", "{65B5F241-C7B8-4650-BD37-D92EF528A422}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedisEvents.ConsoleApp", "RedisEvents.ConsoleApp\RedisEvents.ConsoleApp.csproj", "{A0BB8EA6-E8C1-4853-A966-18E024CFBFF6}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{E8EEF7A7-91E8-4DA9-AF7E-4084922F7F2F}"
ProjectSection(SolutionItems) = preProject
.nuget\packages.config = .nuget\packages.config
@@ -19,10 +13,18 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Solution Items", "_Solutio
..\README.md = ..\README.md
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedisCacheLogMonitor.ConsoleApp", "RedisCacheLogMonitor.ConsoleApp\RedisCacheLogMonitor.ConsoleApp.csproj", "{228B7621-5841-49C3-8E23-9F8119D49352}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Tools", "_Tools", "{5ED726C7-93D3-46B0-817B-F65D76E8D353}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TagCache.Redis.Serializers", "TagCache.Redis.Serializers", "{20868641-262C-469B-B19A-D6B10AA173B6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TagCache.Redis", "TagCache.Redis\TagCache.Redis.csproj", "{280F50BA-1633-4DE0-8C6F-77F82290D214}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TagCache.Redis.Tests", "TagCache.Redis.Tests\TagCache.Redis.Tests.csproj", "{65B5F241-C7B8-4650-BD37-D92EF528A422}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedisEvents.ConsoleApp", "RedisEvents.ConsoleApp\RedisEvents.ConsoleApp.csproj", "{A0BB8EA6-E8C1-4853-A966-18E024CFBFF6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedisCacheLogMonitor.ConsoleApp", "RedisCacheLogMonitor.ConsoleApp\RedisCacheLogMonitor.ConsoleApp.csproj", "{228B7621-5841-49C3-8E23-9F8119D49352}"
+EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SampleMvcSite", "SampleMvcSite\SampleMvcSite.csproj", "{E519DDBF-F7EC-4B4E-B177-ED410F7DAF54}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TagCache.Redis.Json.Net", "TagCache.Redis.Json.Net\TagCache.Redis.Json.Net.csproj", "{35F435C4-0445-4240-A9D6-58275DA96624}"
@@ -35,8 +37,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TagCache.Redis.Migrant", "T
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TagCache.Redis.MessagePack", "TagCache.Redis.MessagePack\TagCache.Redis.MessagePack.csproj", "{02FF6CC4-69E3-40F5-9ED5-2B3830A13E7D}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TagCache.Redis.Serializers", "TagCache.Redis.Serializers", "{20868641-262C-469B-B19A-D6B10AA173B6}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -88,13 +88,13 @@ Global
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
- {228B7621-5841-49C3-8E23-9F8119D49352} = {5ED726C7-93D3-46B0-817B-F65D76E8D353}
{A0BB8EA6-E8C1-4853-A966-18E024CFBFF6} = {5ED726C7-93D3-46B0-817B-F65D76E8D353}
+ {228B7621-5841-49C3-8E23-9F8119D49352} = {5ED726C7-93D3-46B0-817B-F65D76E8D353}
{E519DDBF-F7EC-4B4E-B177-ED410F7DAF54} = {5ED726C7-93D3-46B0-817B-F65D76E8D353}
- {0089EEE8-9DFD-41C0-9128-70BEE1C253D8} = {20868641-262C-469B-B19A-D6B10AA173B6}
{35F435C4-0445-4240-A9D6-58275DA96624} = {20868641-262C-469B-B19A-D6B10AA173B6}
- {02FF6CC4-69E3-40F5-9ED5-2B3830A13E7D} = {20868641-262C-469B-B19A-D6B10AA173B6}
- {53054978-2E7B-46E9-A2B2-A32D88A63340} = {20868641-262C-469B-B19A-D6B10AA173B6}
{6AC97C84-C2D6-4479-890A-7C5D2A7AA6CF} = {20868641-262C-469B-B19A-D6B10AA173B6}
+ {0089EEE8-9DFD-41C0-9128-70BEE1C253D8} = {20868641-262C-469B-B19A-D6B10AA173B6}
+ {53054978-2E7B-46E9-A2B2-A32D88A63340} = {20868641-262C-469B-B19A-D6B10AA173B6}
+ {02FF6CC4-69E3-40F5-9ED5-2B3830A13E7D} = {20868641-262C-469B-B19A-D6B10AA173B6}
EndGlobalSection
EndGlobal
diff --git a/src/TagCache.Redis/Interfaces/IRedisCacheItem.cs b/src/TagCache.Redis/Interfaces/IRedisCacheItem.cs
index 4279586..beba481 100644
--- a/src/TagCache.Redis/Interfaces/IRedisCacheItem.cs
+++ b/src/TagCache.Redis/Interfaces/IRedisCacheItem.cs
@@ -1,17 +1,17 @@
-using System;
-using System.Collections.Generic;
-
-namespace TagCache.Redis.Interfaces
-{
- public interface IRedisCacheItem
- {
- string Key { get; set; }
- List Tags { get; set; }
- DateTime Expires { get; set; }
- }
-
- public interface IRedisCacheItem : IRedisCacheItem
- {
- T Value { get; set; }
- }
+using System;
+using System.Collections.Generic;
+
+namespace TagCache.Redis.Interfaces
+{
+ public interface IRedisCacheItem
+ {
+ string Key { get; set; }
+ List Tags { get; set; }
+ DateTime Expires { get; set; }
+ }
+
+ public interface IRedisCacheItem : IRedisCacheItem
+ {
+ T Value { get; set; }
+ }
}
\ No newline at end of file
diff --git a/src/TagCache.Redis/Interfaces/IRedisCacheItemFactory.cs b/src/TagCache.Redis/Interfaces/IRedisCacheItemFactory.cs
index 9f11977..3ae566a 100644
--- a/src/TagCache.Redis/Interfaces/IRedisCacheItemFactory.cs
+++ b/src/TagCache.Redis/Interfaces/IRedisCacheItemFactory.cs
@@ -1,11 +1,11 @@
-using System;
-using System.Collections.Generic;
-
-namespace TagCache.Redis.Interfaces
-{
- public interface IRedisCacheItemFactory
- {
- IRedisCacheItem Create(string key, List tags);
- IRedisCacheItem Create(string key, List tags, DateTime expires, T value);
- }
+using System;
+using System.Collections.Generic;
+
+namespace TagCache.Redis.Interfaces
+{
+ public interface IRedisCacheItemFactory
+ {
+ IRedisCacheItem Create(string key, List tags);
+ IRedisCacheItem Create(string key, List tags, DateTime expires, T value);
+ }
}
\ No newline at end of file