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 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199
|
Revision history for Cache
1.08 2015-01-22
- try to avoid some race conditions (thanks, Petr Písař)
- typo fixes (thanks, David Steinbrunner)
1.07 2014-09-17
- fix a bug where we checked @$ instead of $@ after eval
1.06 2009-02-28
- updated the project homepage and added notes about the CHI project
- fixed extra "use vars" in CacheUtils
1.05 2006-05-26
- fixed infinite loop with auto_purge_on_get
- fixed directory paths on Windows partitions
- NullCache uses BaseCache
1.04 2005-03-17-11-23
- release version 1.04
- repair permissions on temp cache files
1.03 2004-10-04-11-23
- release version 1.03
- modified the FileBackend to use the more robust File::Temp
- "officially" recommend FileCache over SharedMemoryCache
- added more robust error checking for shared memory caches
- added a check for invalid frozen data
- added $1 to all error messages
1.02 2003-04-15-10-41
- released version 1.02
- require Digest::SHA1 2.02, optionally IPC::ShareLite 0.09
- use Storable's "nfreeze" instead of "freeze"
- added notes on locking and Storable to the README
- updated documentation on expiration units
- modified the quoting of the untainted path regex
- fixed the duplicated get_keys in NullCache
- applied patch to ensure consistent state if the filesystem fills up
- applied patch to ensure initialization of the memory cache hash
1.01 2002-04-14-01-30
- released version 1.01
- switched to Digest::SHA1
- updated copyright dates
1.0 2002-04-06-18-51
- released version 1.0
- localized scope of global file and directory handles (FILE and DIR)
- applied Jonathan Swartz's patch for a much better untainting regex
- changed _Untaint_String to throw an exception on a taint
- further improved the fix to prevent race conditions that caused the
tests to fail
- exposed the get_namespaces method on Cache
- fixed the failing Win32 tests caused by fileglobs in Makefile.PL
- applied Yves Orton's patch in _Make_Path to fix warnings on Win32
0.99 2001-12-09-18-45
- released version 0.99
- major refactoring of code
- replaced non-standard usage of SUCCESS and FAILURE with Error.pm
- replaced non-standard usage of TRUE and FALSE with 1 and 0
- migrated from the term "identifier" to the more standard term "key"
and marked the old public methods with identifier as deprecated
- broke out the MemoryBackend, FileBackend, SharedMemoryBackend into
distinct and reusable classes
- fixed a long outstanding bug in the unit tests that made working
caches appear to fail
- changed the meaning of object and cache size for file system based
caches to consistently reflect the total size of the objects on disk,
but not including the directory overhead
- changed format of persisted data in the FileBackend
- major rewrite of documentation
0.09 2001-09-10-12-10
- released version 0.09
- applied Axel Beckert patch to fix the expiration units
- applied Ken Williams's directory creation patch to pass all tests
- changed the license to be either the GPL or the Artistic license
- added Jay Sachs' implementation of NullCache
- modified the remove methods to avoid croaking if two cache
instances are both purging or limiting at the same time
- migrated to a factory-like model with private constructors
to fix the auto_purge_interval functionality
- updated the documentation to better reflect that size means
size in bytes
- started version 0.09
0.08 2001-04-26-08-53
- released version 0.08
- renamed the auto_purge option to auto_purge_interval
- added the auto_purge_on_set and auto_purge_on_get options
- moved the Auto_Purge and Reset_Auto_Purge methods to BaseCache
as the instance methods _auto_purge and _reset_auto_purge
- added the auto_purge option and property to the base cache interface
and implementations. This option will call the purge method on
the cache after the specified interval expires
- renamed _set_namespace to set_namespace (i.e., made it public)
- added the set_object method to the cache interface
- updated the test scripts and CREDITS file
- updated the perldoc formatting to look better in HTML
- removed the $VERSION from SizeAwareCache
- started version 0.08
0.07 2001-03-27-08-55
- released version 0.07
- prepared for initial CPAN release
- improved Cache::Cache documentation
- removed last "use IPC::Shareable"
- added support in the Makefile.PL to conditionally build the
SharedMemoryCache, which requires IPC::ShareLite, and thus runs only
on certain architectures. Also broke out the IPC related routines
into the SharedCacheUtils package.
- started version 0.07
0.06 2001-03-23-08-36
- release version 0.06
- added the get_identifiers method to the Cache interface, implemented
the method for all classes, added a new test, and updated the test
scripts
- added the size property to Object
- added the _freeze and _thaw methods to the BaseCache class and
modified all children classes to use them
- revert to separate freeze and thaws on the memory based caches to
ensure that cached data isn't modified at any time
- major rewrite of the size aware cache logic
- added the CacheMetaData class, which is used to efficiently keep track
of a size aware cache state
- refactored the instance specific limit_size routines into the
generic Limit_Size method in CacheUtils
- updated the size aware cache implementations to use the CacheMetaData
and Limit_Size methods
- improved the SizeAwareCacheTester and updated the test scripts
- removed unnecessary clone call from the SharedMemoryCache and the
SizeAwareSharedMemoryCache
- added exclusive locking on the shared cache for operations that
will both read and write to the cache
- replaced the cache_hash_ref instance property in MemoryCache with
a class property and updated the SharedMemoryCache and
SizeAwareSharedMemoryCache modules accordingly
- started version 0.06
0.05 2001-03-20-10-25
- released version 0.05
- updated Storable dependency to 1.011
- replaced the IPC::Shareable backend with IPC::ShareLite
- started version 0.05
0.04 2001-03-17-10-43
- released version 0.04
- replaced Data::Dumper with Storable, which is now a requirement
- implemented the SizeAwareMemoryCache and associated tests
- implemented the SizeAwareSharedMemoryCache and associated tests
- added the SizeAwareCache interface
- moved max_size logic from the _store method to the set method
- started version 0.04
0.03 2001-03-10-12-40
- released version 0.03
- made the FileCache more multi-user friendly by allowing a more
permissive default directory umask, which can also be optionally
overridden
- updated documentation and code style
- completely rewrote and improved the limit_size method for a major
performance gain
- updated the syntax for expiration times to include the [number] [unit]
format, e.g. "10 seconds"
- added the get_object method to the Cache interface, which allows
access to the underlying cache object (without potentially expiring
the object)
- added the get_namespace and get_default_expires_in methods to the
Cache interface definition
- updated the MANIFEST
- checked in preliminary cache benchmarking code
- fixed bug fixed bug #406030 -- default_expires_in never invoked
- refactored common code into BaseCache
- use Static_Params method
- fixed default_expires_in bug
- added coding guidelines to STYLE
- started version 0.03
0.02 2001-02-15-21-12
- released version 0.02
- added perldoc to SizeAwareFileCache
- created SizeAwareFileCache
- added the SizeAwareCacheTester module
- refactored common test code into the AbstractCacheTester module
- added the Recursively_List_Files_With_Paths routine to CacheUtils
- marked the FileCache and MemoryCache as ISA Cache::Cache
- updated the MANIFEST
- started version 0.02
0.01 2001-02-13-16-16
- released version 0.01
- implemented Get_Temp_Dir to make the FileCache root more OS
independent
- started version 0.01
|