Commit Graph
84 Commits
Author SHA1 Message Date
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
Patrick Mylund Nielsen 746fe067c4 Delete and Flush tests 2012-01-02 14:18:25 +01:00
Patrick Mylund Nielsen 741c94726a Added README 2012-01-02 14:13:36 +01:00
Patrick Mylund Nielsen ca7e0d4f78 gofmt and redundant 'if it was enabled' 2012-01-02 14:11:17 +01:00
Patrick Mylund Nielsen ac5b195364 store/cache 2012-01-02 14:05:25 +01:00
Patrick Mylund Nielsen a78bca69e4 Added Add and Replace commands 2012-01-02 14:04:47 +01:00
Patrick Mylund Nielsen 2a304e4c5c Added Increment/Decrement 2012-01-02 13:52:43 +01:00
Patrick Mylund Nielsen 848f8b6c3a Clarification about storing pointers; renamed Purge to Flush (like Memcache) 2012-01-02 11:32:05 +01:00
Patrick Mylund Nielsen 3088a9aad8 Initial commit 2012-01-02 11:01:04 +01:00