5388b25b3bUse 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)
Patrick Mylund Nielsen
2013-06-30 20:11:57 -0400
1fc39f1402Add ItemCount method description to README reference
Patrick Mylund Nielsen
2013-04-18 15:26:16 -0400
1140511315Condense the reference in the README by removing the duplicate descriptions and providing one general one for all of them
Patrick Mylund Nielsen
2013-04-18 15:24:40 -0400
739fb494dcUpdate LICENSE file to 2012-2013
Patrick Mylund Nielsen
2013-04-18 14:35:10 -0400
c9f5754801Add O(1) ItemCount method to retrieve items currently in the cache map (whether expired and not cleaned up or not)
Patrick Mylund Nielsen
2013-04-18 14:32:01 -0400
d5d03c28d4Add specialized increment and decrement methods
Patrick Mylund Nielsen
2013-04-18 14:24:30 -0400
b5601e904dClarify licensing on contributed code
Patrick Mylund Nielsen
2012-10-08 12:34:42 +0200
525c0ccc26Add CONTRIBUTORS file and 'and the go-cache contributors' bit to the copyright line in LICENSE
Patrick Mylund Nielsen
2012-10-08 12:31:23 +0200
e30c8eff7aMerge pull request #4 from temoto/patch-1
Patrick Mylund Nielsen
2012-10-08 03:27:04 -0700
a768a84319Save/LoadFile must close file
Sergey Shepelev
2012-09-19 03:25:42 +0400
72916cf4dfUpdate 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
Patrick Mylund Nielsen
2012-08-17 13:48:55 +0200
b3a957a46cHandle float64 and int64 Increment/Decrement separately, and don't use Increment(-n) in Decrement to support uints
Patrick Mylund Nielsen
2012-08-17 13:39:02 +0200
9cc10f6f2fUse a type switch instead, and Use unexported NewSharded in test
Patrick Mylund Nielsen
2012-08-17 11:35:20 +0200
13225a8ae4Unexport the shardedcache interface and implementation until both the API and implementation are solid
Patrick Mylund Nielsen
2012-08-17 11:32:24 +0200
15cda21ff4Add an interface, embed the mutex, and unexport some unnecessarily exported fields
Patrick Mylund Nielsen
2012-07-04 19:34:37 +0100
bf97a87cc7Cleaner bucket selection
Patrick Mylund Nielsen
2012-06-22 09:33:27 +0100
52c269d8aeTesting a sharded cache. Could be useful for massively parallel applications
Patrick Mylund Nielsen
2012-06-22 09:24:09 +0100
0f0584a805Fix BenchmarkCacheSetDeleteSingleLock 'cheating' by unintentionally only locking once in the whole benchmark, rather than once per set and delete
Patrick Mylund Nielsen
2012-06-22 06:52:32 +0100
0a962bf9ebKeep the same tense in docstrings, and remove a little ambiguity
Patrick Mylund Nielsen
2012-06-22 04:24:48 +0100
8f6294df58Remove unused Version const
Patrick Mylund Nielsen
2012-06-22 04:10:33 +0100
2b93e5ecebStay below 80 characters in width in the README as well
Patrick Mylund Nielsen
2012-06-22 04:04:21 +0100
026efae39fStay below 80 chars in width
Patrick Mylund Nielsen
2012-06-22 03:56:12 +0100
724bd0e963Move comment explaining the manual mutex unlocking down to the first place where we actually do it
Patrick Mylund Nielsen
2012-06-22 03:51:34 +0100
aa7f52c169Be clearer about the defaults, <80 width for the janitor comment, and remove 'default cleanup interval' -- there can be only one
Patrick Mylund Nielsen
2012-06-22 03:50:10 +0100
8495026156c can be collected. It isn't necessarily (right after)
Patrick Mylund Nielsen
2012-06-22 03:44:04 +0100
23661b37bdPoint out why using go-cache might be desirable
Patrick Mylund Nielsen
2012-06-22 03:11:31 +0100
803ceeaf1aUse runtime.numCPU() workers in concurrent benchmarks, remove pointless benchmarks for racy maps, and add replacement benchmarks using mutexed maps
Patrick Mylund Nielsen
2012-06-22 03:06:06 +0100
3bd539b94dMerge pull request #2 from dustin/master
Patrick Mylund Nielsen
2012-06-21 18:50:17 -0700
fbcdb10061Don't overparallelize the concurrent test.
Dustin Sallings
2012-06-21 17:36:24 -0700
3c46230312use an integer example for the second to make it more obvious that the cache stores anything, not just strings
Patrick Mylund Nielsen
2012-05-10 11:58:45 -0500
c1bb5e2a35The .gitignore file is no longer necessary
Patrick Mylund Nielsen
2012-04-18 09:40:25 +0200
74f0b20353Don't fmt.Println warning if gob.Register fails--just return an err
Patrick Mylund Nielsen
2012-02-23 04:16:42 +0100
84d15102ebAdd test for concurrent cache.Get
Patrick Mylund Nielsen
2012-02-21 18:46:25 +0100
8805e79189Properly handle Gob panic
Patrick Mylund Nielsen
2012-02-19 01:21:07 +0100
91bd4334f1Don't use defer for mutex unlocking (it currently adds ~200ns)
Patrick Mylund Nielsen
2012-02-17 01:40:55 +0100
13b338b204Modify error on Gob panic
Patrick Mylund Nielsen
2012-02-17 00:22:46 +0100
dfeb3cfa2bNo reason to use *sync.Mutex
Patrick Mylund Nielsen
2012-02-17 00:20:20 +0100
39b4f413a1Don't format in t.Error()
Patrick Mylund Nielsen
2012-02-13 21:37:17 +0100
6660155e6cgofmt
Patrick Mylund Nielsen
2012-02-12 01:54:16 +0100
ef0ef15586Newline after the error message, or url gets concatenated with the stack trace
Patrick Mylund Nielsen
2012-02-12 01:42:57 +0100
b95b9110a4Get ready for Go1
Patrick Mylund Nielsen
2012-02-12 00:15:25 +0100
950a5926e8s/used safely/safely used/
Patrick Mylund Nielsen
2012-02-09 13:28:51 +0100
6ce027cd0ds/database/persistent datastore/g
Patrick Mylund Nielsen
2012-01-29 05:46:26 +0100
73233e97c3Remove leading spaces from README
Patrick Mylund Nielsen
2012-01-29 05:42:07 +0100
eaf2373adfAdd a test for file serialization and one to ensure objects expire even after having been serialized and reloaded
Patrick Mylund Nielsen
2012-01-29 05:30:21 +0100
bbb477e5bdVersion 1.0
Patrick Mylund Nielsen
2012-01-29 04:44:34 +0100
07aec145baAdd another child in structception test just to make sure
Patrick Mylund Nielsen
2012-01-29 04:43:26 +0100
132462db11Added test for structs within structs
Patrick Mylund Nielsen
2012-01-29 04:35:47 +0100
fdcb2f0aa6Uppercase C
Patrick Mylund Nielsen
2012-01-29 04:07:23 +0100
d5cd41da53Note about channels being unserializable
Patrick Mylund Nielsen
2012-01-29 04:04:33 +0100
106d5795c8Remind me why the README needed to be in cache.go
Patrick Mylund Nielsen
2012-01-29 03:47:21 +0100
c2c31db092Ditto for source file
Patrick Mylund Nielsen
2012-01-29 03:46:29 +0100
88f8307726Changed the line about serialization to avoid confusion. We do do that now (via Save), but not in the way this referred to.
Patrick Mylund Nielsen
2012-01-29 03:45:11 +0100
16b8921ca2Last one?
Patrick Mylund Nielsen
2012-01-29 03:37:47 +0100
8598a0c29aTouch-ups
Patrick Mylund Nielsen
2012-01-29 03:34:14 +0100
0ff0a883b5Notes on cache serialization
Patrick Mylund Nielsen
2012-01-29 03:27:01 +0100
98c2ce9eb4Cache serialization
Patrick Mylund Nielsen
2012-01-29 03:16:59 +0100
d05b5eb27aFixed widths in top section of cache.go
Patrick Mylund Nielsen
2012-01-15 12:16:10 -0600
a4f5f9088bFix README line width
Patrick Mylund Nielsen
2012-01-15 12:00:21 -0600
ac1a1aeef9Increment should return an error if the targeted item has expired
Patrick Mylund Nielsen
2012-01-04 11:37:02 +0100
e5b84e20fcOverflow/underflow tests
Patrick Mylund Nielsen
2012-01-04 10:48:21 +0100
51add1d44dAdded LICENSE (MIT license)
Patrick Mylund Nielsen
2012-01-04 10:29:35 +0100
3a434fd350Add import statement to examples
Patrick Mylund Nielsen
2012-01-04 10:08:41 +0100
ac4bda9deaBenchmarkCacheSetDeleteSingleLock to get an idea of mutex impact
Patrick Mylund Nielsen
2012-01-04 10:06:31 +0100
e46251e025A few benchmarks vs. normal maps
Patrick Mylund Nielsen
2012-01-04 09:55:32 +0100
9e6775b151Back to weekly
Patrick Mylund Nielsen
2012-01-04 09:11:27 +0100
62a061f1f4Add/Replace atomicity for r60.3
Patrick Mylund Nielsen
2012-01-04 09:09:39 +0100
e6e2a3d192Complete atomicity for Add and Replace
Patrick Mylund Nielsen
2012-01-04 08:54:01 +0100
88b75b4791Unclear about type assertion in pointer example
Patrick Mylund Nielsen
2012-01-04 08:30:26 +0100
c6060554eeBack to following weekly
Patrick Mylund Nielsen
2012-01-04 08:07:50 +0100
1f826dd9deCompatability with 60.3
Patrick Mylund Nielsen
2012-01-04 07:54:23 +0100
e68e585c61Even better spacing
Patrick Mylund Nielsen
2012-01-03 12:29:08 +0100
783e6df827Nicer spacing in library reference
Patrick Mylund Nielsen
2012-01-03 12:26:08 +0100
9fbe1a4eddLibrary reference in README
Patrick Mylund Nielsen
2012-01-03 12:03:43 +0100
c84223dab4Typo
Patrick Mylund Nielsen
2012-01-02 17:26:17 +0100
8f430150d6Expires bool is redundant with pointer to Time
Patrick Mylund Nielsen
2012-01-02 17:13:29 +0100
99360acb31V should be Item
Patrick Mylund Nielsen
2012-01-02 14:44:50 +0100
746fe067c4Delete and Flush tests
Patrick Mylund Nielsen
2012-01-02 14:18:25 +0100
741c94726aAdded README
Patrick Mylund Nielsen
2012-01-02 14:13:36 +0100
ca7e0d4f78gofmt and redundant 'if it was enabled'
Patrick Mylund Nielsen
2012-01-02 14:11:17 +0100
ac5b195364store/cache
Patrick Mylund Nielsen
2012-01-02 14:05:25 +0100
a78bca69e4Added Add and Replace commands
Patrick Mylund Nielsen
2012-01-02 14:04:47 +0100
2a304e4c5cAdded Increment/Decrement
Patrick Mylund Nielsen
2012-01-02 13:52:43 +0100
848f8b6c3aClarification about storing pointers; renamed Purge to Flush (like Memcache)
Patrick Mylund Nielsen
2012-01-02 11:32:05 +0100
3088a9aad8Initial commit
Patrick Mylund Nielsen
2012-01-02 11:01:04 +0100