Commit Graph
100 Commits
Author SHA1 Message Date
Patrick Mylund Nielsen e3a846e1f9 Clarify what NoExpiration and DefaultExpiration are 2014-12-22 02:47:08 -05:00
Patrick Mylund Nielsen a1dd6b7fff s/NewFrom/NewFrom()/ in NewFrom doc 2014-12-22 02:39:59 -05:00
Patrick Mylund Nielsen 9ea75a8586 s/NewFrom/NewFrom()/ in Load/LoadFile/Save/SaveFile docs 2014-12-22 02:37:46 -05:00
Patrick Mylund Nielsen 873e78f0db s/gob.Register/gob.Register()/ in NewFrom doc 2014-12-22 02:30:02 -05:00
Patrick Mylund Nielsen bc36de7dec Clarify NewFrom documentation on use cases 2014-12-22 02:15:12 -05:00
Patrick Mylund Nielsen d68800e607 s/with the same caveats/subject to the same caveat/ in NewFrom doc 2014-12-22 02:09:42 -05:00
Patrick Mylund Nielsen 887753fa90 Refer to DeleteExpired as c.DeleteExpired() 2014-12-22 02:06:10 -05:00
Patrick Mylund Nielsen 888f396121 Update NewFrom doc to be consistent with New 2014-12-22 02:04:11 -05:00
Patrick Mylund Nielsen 32dd451b6d README.md: Be consistent with NewFrom() 2014-12-22 01:59:29 -05:00
Patrick Mylund Nielsen 238c0209c0 New markdown README (thanks Jason Mooberry) 2014-12-22 01:55:57 -05:00
Patrick Mylund Nielsen 46827c6a61 Add NoExpiration and DefaultExpiration constants and use them (thanks to Jason Mooberry) 2014-12-22 01:46:22 -05:00
Patrick Mylund Nielsen 73a30b2033 Add NewFrom, and deprecate Save, SaveFile, Load, and LoadFile 2014-12-22 01:12:10 -05:00
Patrick Mylund Nielsen ffd0b9e3ec Move the unexportedShardedCache to sharded.go 2014-12-22 00:24:49 -05:00
Patrick Mylund Nielsen 6ea7e6fb42 Remove the pointless unexportedInterface 2014-12-22 00:12:48 -05:00
Patrick Mylund Nielsen 23b49bf74d LICENSE: Remove sneaky space character 2014-12-22 00:01:09 -05:00
Patrick Mylund Nielsen 61ce35d44e LICENSE: Update copyright to 2012-2014 2014-12-21 23:56:20 -05:00
Patrick Mylund Nielsen 8c0eccfc44 CONTRIBUTORS: Add Jason Mooberry 2014-12-21 23:51:48 -05:00
Patrick Mylund Nielsen 7d1d6d6ae9 Note about needing explicit synchronization if you want to use the returned items map and its cache at the same time 2013-08-08 15:10:54 -04:00
Patrick Mylund Nielsen 3ff6a5407e Reference 'go doc' in the README 2013-08-08 15:02:23 -04:00
Patrick Mylund Nielsen c383ebd2ba Remove go doc-style reference from README since go doc now shows public methods from (private) embedded structs 2013-08-08 15:01:48 -04:00
Patrick Mylund Nielsen e91e36d111 ItemCount() is equivalent to len(c.Items()), not len(c.Items) 2013-08-08 14:54:03 -04:00
Patrick Mylund Nielsen fd89281dfd s/field/fields/ 2013-08-08 14:53:24 -04:00
Patrick Mylund Nielsen f8cc27acbc Export Item wrapping type, and add an Items() method to cache 2013-08-08 14:53:02 -04:00
Patrick Mylund Nielsen baa5a64da4 Revert 3986bff for now 2013-06-30 22:05:40 -04:00
Patrick Mylund Nielsen 2fb27e8369 Change the names of the MutexMap benchmarks to RWMutex to clarify the changes to the map benchmarks and the cache itself 2013-06-30 20:40:26 -04:00
Patrick Mylund Nielsen 155ab21e5d Use an RWMutex in the cache-equivalent map tests now that the cache uses one 2013-06-30 20:31:46 -04:00
Patrick Mylund Nielsen 3986bff69b Don't keep the read lock after traversing the items map (before saving to the io.Writer) in Save 2013-06-30 20:20:38 -04:00
Patrick Mylund Nielsen 5388b25b3b Use an RWMutex instead of a Mutex, making Get a read operation only (this slightly changes the eviction behavior: lookup doesn't completely expunge an expired item, but the janitor still will at the next cleanup.) Also, use the same RWMutex in Load and Save (thanks, Alan Shreve) 2013-06-30 20:11:57 -04:00
Patrick Mylund Nielsen 1fc39f1402 Add ItemCount method description to README reference 2013-04-18 15:26:16 -04:00
Patrick Mylund Nielsen 1140511315 Condense the reference in the README by removing the duplicate descriptions and providing one general one for all of them 2013-04-18 15:24:40 -04:00
Patrick Mylund Nielsen 739fb494dc Update LICENSE file to 2012-2013 2013-04-18 14:35:10 -04:00
Patrick Mylund Nielsen c9f5754801 Add O(1) ItemCount method to retrieve items currently in the cache map (whether expired and not cleaned up or not) 2013-04-18 14:32:01 -04:00
Patrick Mylund Nielsen d5d03c28d4 Add specialized increment and decrement methods 2013-04-18 14:24:30 -04:00
Patrick Mylund Nielsen b5601e904d Clarify licensing on contributed code 2012-10-08 12:34:42 +02:00
Patrick Mylund Nielsen 525c0ccc26 Add CONTRIBUTORS file and 'and the go-cache contributors' bit to the copyright line in LICENSE 2012-10-08 12:31:23 +02:00
Patrick Mylund Nielsen 72916cf4df Update README to reflect API change: IncrementFloat now only works on float32 and float64, and the use of Decrement should be encouraged over Increment (with a negative number) since Increment converting a negative signed integer to an unsigned integer probably isn't the intended behavior 2012-08-17 13:48:55 +02:00
Patrick Mylund Nielsen b3a957a46c Handle float64 and int64 Increment/Decrement separately, and don't use Increment(-n) in Decrement to support uints 2012-08-17 13:39:02 +02:00
Patrick Mylund Nielsen 9cc10f6f2f Use a type switch instead, and Use unexported NewSharded in test 2012-08-17 11:35:20 +02:00
Patrick Mylund Nielsen 13225a8ae4 Unexport the shardedcache interface and implementation until both the API and implementation are solid 2012-08-17 11:32:24 +02:00
Patrick Mylund Nielsen 15cda21ff4 Add an interface, embed the mutex, and unexport some unnecessarily exported fields 2012-07-04 19:34:37 +01:00
Patrick Mylund Nielsen bf97a87cc7 Cleaner bucket selection 2012-06-22 09:33:27 +01:00
Patrick Mylund Nielsen 52c269d8ae Testing a sharded cache. Could be useful for massively parallel applications 2012-06-22 09:24:09 +01:00
Patrick Mylund Nielsen 0f0584a805 Fix BenchmarkCacheSetDeleteSingleLock 'cheating' by unintentionally only locking once in the whole benchmark, rather than once per set and delete 2012-06-22 06:52:32 +01:00
Patrick Mylund Nielsen 0a962bf9eb Keep the same tense in docstrings, and remove a little ambiguity 2012-06-22 04:24:48 +01:00
Patrick Mylund Nielsen 8f6294df58 Remove unused Version const 2012-06-22 04:10:33 +01:00
Patrick Mylund Nielsen 2b93e5eceb Stay below 80 characters in width in the README as well 2012-06-22 04:04:21 +01:00
Patrick Mylund Nielsen 026efae39f Stay below 80 chars in width 2012-06-22 03:56:12 +01:00
Patrick Mylund Nielsen 724bd0e963 Move comment explaining the manual mutex unlocking down to the first place where we actually do it 2012-06-22 03:51:34 +01:00
Patrick Mylund Nielsen aa7f52c169 Be clearer about the defaults, <80 width for the janitor comment, and remove 'default cleanup interval' -- there can be only one 2012-06-22 03:50:10 +01:00
Patrick Mylund Nielsen 8495026156 c can be collected. It isn't necessarily (right after) 2012-06-22 03:44:04 +01:00
Patrick Mylund Nielsen 23661b37bd Point out why using go-cache might be desirable 2012-06-22 03:11:31 +01:00
Patrick Mylund Nielsen 803ceeaf1a Use runtime.numCPU() workers in concurrent benchmarks, remove pointless benchmarks for racy maps, and add replacement benchmarks using mutexed maps 2012-06-22 03:06:06 +01:00
Patrick Mylund Nielsen 3c46230312 use an integer example for the second to make it more obvious that the cache stores anything, not just strings 2012-05-10 11:58:45 -05:00
Patrick Mylund Nielsen c1bb5e2a35 The .gitignore file is no longer necessary 2012-04-18 09:40:25 +02:00
Patrick Mylund Nielsen 74f0b20353 Don't fmt.Println warning if gob.Register fails--just return an err 2012-02-23 04:16:42 +01:00
Patrick Mylund Nielsen 84d15102eb Add test for concurrent cache.Get 2012-02-21 18:46:25 +01:00
Patrick Mylund Nielsen 8805e79189 Properly handle Gob panic 2012-02-19 01:21:07 +01:00
Patrick Mylund Nielsen 91bd4334f1 Don't use defer for mutex unlocking (it currently adds ~200ns) 2012-02-17 01:40:55 +01:00
Patrick Mylund Nielsen 13b338b204 Modify error on Gob panic 2012-02-17 00:22:46 +01:00
Patrick Mylund Nielsen dfeb3cfa2b No reason to use *sync.Mutex 2012-02-17 00:20:20 +01:00
Patrick Mylund Nielsen 39b4f413a1 Don't format in t.Error() 2012-02-13 21:37:17 +01:00
Patrick Mylund Nielsen 6660155e6c gofmt 2012-02-12 01:54:16 +01:00
Patrick Mylund Nielsen ef0ef15586 Newline after the error message, or url gets concatenated with the stack trace 2012-02-12 01:42:57 +01:00
Patrick Mylund Nielsen b95b9110a4 Get ready for Go1 2012-02-12 00:15:25 +01:00
Patrick Mylund Nielsen 950a5926e8 s/used safely/safely used/ 2012-02-09 13:28:51 +01:00
Patrick Mylund Nielsen 6ce027cd0d s/database/persistent datastore/g 2012-01-29 05:46:26 +01:00
Patrick Mylund Nielsen 73233e97c3 Remove leading spaces from README 2012-01-29 05:42:07 +01:00
Patrick Mylund Nielsen eaf2373adf Add a test for file serialization and one to ensure objects expire even after having been serialized and reloaded 2012-01-29 05:30:35 +01:00
Patrick Mylund Nielsen bbb477e5bd Version 1.0
Added Version constant
2012-01-29 04:45:45 +01:00
Patrick Mylund Nielsen 07aec145ba Add another child in structception test just to make sure 2012-01-29 04:43:26 +01:00
Patrick Mylund Nielsen 132462db11 Added test for structs within structs 2012-01-29 04:35:47 +01:00
Patrick Mylund Nielsen fdcb2f0aa6 Uppercase C 2012-01-29 04:07:23 +01:00
Patrick Mylund Nielsen d5cd41da53 Note about channels being unserializable 2012-01-29 04:04:33 +01:00
Patrick Mylund Nielsen 106d5795c8 Remind me why the README needed to be in cache.go 2012-01-29 03:47:21 +01:00
Patrick Mylund Nielsen c2c31db092 Ditto for source file 2012-01-29 03:46:29 +01:00
Patrick Mylund Nielsen 88f8307726 Changed the line about serialization to avoid confusion. We do do that now (via Save), but not in the way this referred to. 2012-01-29 03:45:11 +01:00
Patrick Mylund Nielsen 16b8921ca2 Last one? 2012-01-29 03:37:47 +01:00
Patrick Mylund Nielsen 8598a0c29a Touch-ups 2012-01-29 03:34:14 +01:00
Patrick Mylund Nielsen 0ff0a883b5 Notes on cache serialization 2012-01-29 03:27:01 +01:00
Patrick Mylund Nielsen 98c2ce9eb4 Cache serialization 2012-01-29 03:16:59 +01:00
Patrick Mylund Nielsen d05b5eb27a Fixed widths in top section of cache.go 2012-01-15 12:16:10 -06:00
Patrick Mylund Nielsen a4f5f9088b Fix README line width 2012-01-15 12:00:21 -06:00
Patrick Mylund Nielsen ac1a1aeef9 Increment should return an error if the targeted item has expired 2012-01-04 11:37:02 +01:00
Patrick Mylund Nielsen e5b84e20fc Overflow/underflow tests 2012-01-04 10:48:21 +01:00
Patrick Mylund Nielsen 51add1d44d Added LICENSE (MIT license) 2012-01-04 10:29:35 +01:00
Patrick Mylund Nielsen 3a434fd350 Add import statement to examples 2012-01-04 10:08:41 +01:00
Patrick Mylund Nielsen ac4bda9dea BenchmarkCacheSetDeleteSingleLock to get an idea of mutex impact 2012-01-04 10:06:31 +01:00
Patrick Mylund Nielsen e46251e025 A few benchmarks vs. normal maps 2012-01-04 09:55:32 +01:00
Patrick Mylund Nielsen 9e6775b151 Back to weekly 2012-01-04 09:11:27 +01:00
Patrick Mylund Nielsen 62a061f1f4 Add/Replace atomicity for r60.3 2012-01-04 09:09:39 +01:00
Patrick Mylund Nielsen e6e2a3d192 Complete atomicity for Add and Replace 2012-01-04 08:54:01 +01:00
Patrick Mylund Nielsen 88b75b4791 Unclear about type assertion in pointer example 2012-01-04 08:30:26 +01:00
Patrick Mylund Nielsen c6060554ee Back to following weekly 2012-01-04 08:07:50 +01:00
Patrick Mylund Nielsen 1f826dd9de Compatability with 60.3 2012-01-04 07:54:23 +01:00
Patrick Mylund Nielsen e68e585c61 Even better spacing 2012-01-03 12:29:08 +01:00
Patrick Mylund Nielsen 783e6df827 Nicer spacing in library reference 2012-01-03 12:26:08 +01:00
Patrick Mylund Nielsen 9fbe1a4edd Library reference in README 2012-01-03 12:03:43 +01:00
Patrick Mylund Nielsen c84223dab4 Typo 2012-01-02 17:26:17 +01:00
Patrick Mylund Nielsen 8f430150d6 Expires bool is redundant with pointer to Time 2012-01-02 17:13:29 +01:00
Patrick Mylund Nielsen 99360acb31 V should be Item 2012-01-02 14:44:50 +01:00