Commit Graph

54 Commits

Author SHA1 Message Date
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 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 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 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
Sergey Shepelev a768a84319 Save/LoadFile must close file 2012-09-19 03:25:42 +04: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 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 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 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 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 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 bbb477e5bd Version 1.0
Added Version constant
2012-01-29 04:45:45 +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 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 ac1a1aeef9 Increment should return an error if the targeted item has expired 2012-01-04 11:37:02 +01:00
Patrick Mylund Nielsen 3a434fd350 Add import statement to examples 2012-01-04 10:08:41 +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 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 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