Skip to content

Commit c89ffd8

Browse files
committed
Updated and consolidated README
1 parent 59df42b commit c89ffd8

File tree

1 file changed

+17
-134
lines changed

1 file changed

+17
-134
lines changed

README.md

Lines changed: 17 additions & 134 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ fast, scalable distributed caching with meaningful performance metrics for your
1111
**EMAIL:** info@getdache.net
1212

1313

14-
VERSION HISTORY
14+
VERSION INFORMATION
1515
============================================
1616

1717

@@ -55,139 +55,6 @@ VERSION HISTORY
5555
***** SPECIAL THANKS TO THE MAJOR CONTRIBUTORS TO THIS BUILD: mmajcica and aweber1 - you rock! :)
5656

5757

58-
1.2.3
59-
------------------
60-
61-
- Changed SimplSockets so that it binds to IpAddress.Any to enable listening on all interfaces for a given port. This should resolve some communication issues when a server has multiple NICs or interfaces.
62-
63-
- Fixed a bug in SimplSockets regarding calculation of message length (thanks to Christoph Martens for identifying and reporting the bug)
64-
65-
66-
1.2.2
67-
------------------
68-
69-
- Fixed issue in how SimplSockets assigned listening IP for Cache Host
70-
71-
- Fixed issue with Customer Performance Counters that was causing a crash on startup for some servers and users
72-
73-
74-
1.2.1
75-
------------------
76-
77-
- Fixed issue with infinite hang on startup if not all listed cache hosts were online
78-
79-
- Upgraded SimplSockets to 1.1.0 which introduces many fixes to Dache socket communication.
80-
81-
- Client threads will no longer hang when a cache host is disconnected.
82-
83-
- Special thanks to Ruslan (https://github.com/ruzhovt) for discovering and documenting the source of these errors.
84-
85-
- Fixed bug in cache client host orders when disconnect/reconnect occurs. This ensures that all cache clients have the same host order, so that cached items are distributed properly.
86-
87-
88-
1.2.0
89-
------------------
90-
91-
92-
- This release is MASSIVE and AWESOME! :)
93-
94-
- Created and implemented SimplSockets, a library designed for extremely efficient socket communication. As a result, WCF has been removed entirely. The client side uses multiplexing on a single connection. Throughput to Dache has nearly tripled: I could not max out a single cache server with 2 of my computers doing roughly 100,000 commands per second each! http://www.github.com/ironyx/simplsockets if you'd like to learn more.
95-
96-
- Dache now operates on a TCP syntax that is platform independent. This means that people can use Dache from non-.NET applications if they choose to write a native client that employs the commands. In the commands, all objects are passed as base-64 strings. The commands are:
97-
98-
> get cacheKey1 cacheKey2 cacheKey3 cacheKey4...
99-
100-
> get-tag tagName
101-
102-
> set cacheKey1 serializedObject1 cacheKey2 serializedObject2
103-
104-
> set absoluteExpiration cacheKey1 serializedObject1 cacheKey2 serializedObject2
105-
106-
> set slidingExpiration cacheKey1 serializedObject1 cacheKey2 serializedObject2
107-
108-
> set-intern cacheKey1 serializedObject1 cacheKey2 serializedObject2
109-
110-
> set-tag tagName cacheKey1 serializedObject1 cacheKey2 serializedObject2
111-
112-
> set-tag tagName absoluteExpiration cacheKey1 serializedObject1 cacheKey2 serializedObject2
113-
114-
> set-tag tagName slidingExpiration cacheKey1 serializedObject1 cacheKey2 serializedObject2
115-
116-
> set-tag-intern tagName cacheKey1 serializedObject1 cacheKey2 serializedObject2
117-
118-
> del cacheKey1 cacheKey2 cacheKey3 cacheKey4...
119-
120-
> del-tag tagName1 tagName2 tagName3 tagName4...
121-
122-
- Created local caching that allows for a "turbo" of sorts. The objects cached locally will not be kept in sync with the cache hosts, however this is a great option for "reference data" that never changes. By using local caching, there is no repeated trip over the wire for static data.
123-
124-
- Added runnable performance tests that can be executed to test Dache throughput locally or remotely.
125-
126-
- Improved efficiency of initial client connection to cache host.
127-
128-
- Removed static Container classes which were not very OO; they have been replaced with proper inversion of control.
129-
130-
- Created initial unit tests; will add to them as development continues in the future
131-
132-
- Cleaned up various classes and updated XML comments
133-
134-
- Renamed methods on client contract. Unfortunately this is a breaking change however the client commands are now overloaded and much more intuitive to use.
135-
136-
137-
1.1.2
138-
------------------
139-
140-
141-
- Further testing proved that interning everything was quite troublesome, so interning has been changed. Interning methods are now exposed on the client-server contract and are opt-in only. Interned objects cannot expire or be evicted - they must be removed manually when appropriate.
142-
143-
- Updated client contract with IEnumerable<T> to be more flexible than the previous ICollection<T>
144-
145-
- Modified the comments of the client to be clearer
146-
147-
- Preparing for unit and performance testing, which is definitely needed
148-
149-
150-
1.1.1
151-
------------------
152-
153-
154-
- Intelligent interning of all objects stored in cache. This results in a > 40% memory use reduction for repeatedly cached objects at a performance hit of roughly 0.2% - a good trade!
155-
156-
- Removed erroneous TODO.txt reference in Dache.CacheHost project
157-
158-
- Updated uninstall.bat output (it said it was installing when it was actually uninstalling)
159-
160-
- Updated TODO.txt with tasks that need to get done soon
161-
162-
163-
1.1.0
164-
------------------
165-
166-
167-
- Removal of cache manager entirely as it was not necessary
168-
169-
- Simplification of solution as a whole; consolidation of assemblies
170-
171-
- More efficent tagging and bulk API operations
172-
173-
- Order of listed cache hosts in client config no longer matters
174-
175-
- Added install.bat and uninstall.bat for easy installation and uninstallation
176-
177-
178-
1.0.0
179-
------------------
180-
181-
182-
- Initial release of Dache
183-
184-
- Includes cache manager, cache host, and client.
185-
186-
- Some Dache Board work completed: needs more work in future.
187-
188-
- Custom performance counters.
189-
190-
19158
INSTALLATION INSTRUCTIONS
19259
============================================
19360

@@ -204,6 +71,14 @@ that Intellisense will show you method and type information. An example configur
20471
NOTE: all clients should be configured with the same list of servers. The list of servers does
20572
not have to be in the same order, but each client's list should contain the same servers.
20673

74+
Supported built-in custom Loggers and Serializers:
75+
76+
`Dache.Client.Serialization.BinarySerializer, Dache.Client`
77+
`Dache.Client.Serialization.GZipSerializer, Dache.Client`
78+
79+
`Dache.Core.Logging.EventViewerLogger, Dache.Core`
80+
`Dache.Core.Logging.FileLogger, Dache.Core`
81+
20782

20883
Host
20984
--------
@@ -224,6 +99,14 @@ To uninstall, run `uninstall.bat` or uninstall it manually via .NET 4.0's `insta
22499

225100
C:\Windows\Microsoft.NET\Framework\v4.0.30319>installutil /u "C:\Path\To\Dache.CacheHost.exe"
226101

102+
Supported built-in custom MemCaches and Serializers:
103+
104+
`Dache.CacheHost.Storage.MemCache, Dache.CacheHost`
105+
`Dache.CacheHost.Storage.GZipMemCache, Dache.CacheHost`
106+
107+
`Dache.Core.Logging.EventViewerLogger, Dache.Core`
108+
`Dache.Core.Logging.FileLogger, Dache.Core`
109+
227110

228111
Board
229112
--------

0 commit comments

Comments
 (0)