1
0
Commit Graph

99 Commits

Author SHA1 Message Date
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
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