Vivian Mathews
0640633ccc
Fix race condition
...
- the gc finalize for an object races with the janitor.Run goroutine
- because the janitor.stop channel is created in the Run() goroutine this leads
to a data race.
- fix by creating the channel when the janitor is created
2017-07-21 14:56:50 -04:00
Patrick Mylund Nielsen
7ac151875f
Merge pull request #46 from alexedwards/master
...
Add GetWithExpiration
2017-04-18 19:29:47 -04:00
Patrick Mylund Nielsen
ea4bd2a538
LICENSE: Update copyright years
2017-03-26 12:37:11 -04:00
Patrick Mylund Nielsen
96426d0c5b
README.md: Remove the unprotected change example since it would actually need external synchronization
2017-03-26 12:36:28 -04:00
Patrick Mylund Nielsen
dd1ed0ba63
README.md: Remove one level of indentation and increase 'recommended' cleanupInterval
2017-03-26 12:30:15 -04:00
Alex Edwards
8c11fe2df0
Add GetWithExpiration
2016-12-08 14:50:49 +01:00
Patrick Mylund Nielsen
e7a9def80f
Add SetDefault() for setting with the default expiration
2016-11-25 18:48:19 -05:00
Patrick Mylund Nielsen
52581776a3
LICENSE: Update copyright year
2016-11-25 14:18:09 -05:00
Patrick Mylund Nielsen
9e6d9117e7
Add 'inlining of expired' note to Items()
2016-11-25 13:57:39 -05:00
Patrick Mylund Nielsen
a2d8b56f0c
Make Items() return a copy rather than an unsynchronized reference to the underlying items map
2016-11-25 13:56:11 -05:00
Patrick Mylund Nielsen
1881a9bccb
Merge pull request #29 from darrenmcc/master
...
added go syntax highlighting to README
2016-01-27 12:00:04 -05:00
Darren McCleary
da6326cd69
added go syntax highlighting to README
2016-01-27 11:56:21 -05:00
Patrick Mylund Nielsen
5849ccb308
remove mu.RUnlock call from get
2016-01-08 15:02:42 -05:00
Patrick Mylund Nielsen
721cc9438c
Add BenchmarkRWMutexInterfaceMapGetString
2015-12-03 09:55:58 -05:00
Patrick Mylund Nielsen
8c41258ef3
Add BenchmarkRWMutexInterfaceMapGet
2015-12-03 09:40:14 -05:00
Patrick Mylund Nielsen
faf83836bd
Change GitHub repository URLs in README
2015-12-02 14:32:12 -05:00
Patrick Mylund Nielsen
66bf7b7a45
Update README to point to new repository URL
2015-12-01 11:18:46 -05:00
Patrick Mylund Nielsen
d461c5d2dd
'Inline' set in Set, and do time checks before the lock
2015-12-01 11:08:43 -05:00
Patrick Mylund Nielsen
76f1250a65
Make OnEvicted() a little faster
2015-11-30 16:18:49 -05:00
Patrick Mylund Nielsen
7c1e7f5829
go fmt
2015-11-30 16:04:57 -05:00
Patrick Mylund Nielsen
9fc6f9c73f
Add expiring/notexpiring sharded cache benchmarks
2015-11-30 16:04:49 -05:00
Patrick Mylund Nielsen
afadf13f9f
Back to UnixNano(), syscall dependency isn't worth a few nanoseconds better performance
2015-11-30 15:12:19 -05:00
Patrick Mylund Nielsen
f6cdd07cbb
Merge branch 'timeval'
2015-11-30 15:02:11 -05:00
Patrick Mylund Nielsen
2f0c74ebb8
Use intermediary timevals
2015-11-30 15:02:02 -05:00
Patrick Mylund Nielsen
2f60853f80
No need for emptyTime anymore
2015-11-30 14:49:18 -05:00
Patrick Mylund Nielsen
01842a547c
Use timevals
2015-11-30 14:47:22 -05:00
Patrick Mylund Nielsen
1924ec3baf
Remove expired() since it's no longer used (because of the inlining)
2015-11-30 14:14:52 -05:00
Patrick Mylund Nielsen
8084bd02b5
Inline expiration checks manually for performance
2015-11-30 14:12:45 -05:00
Patrick Mylund Nielsen
eb4f9f6b2f
Use UnixNano int64s instead of Time
2015-11-30 13:54:01 -05:00
Patrick Mylund Nielsen
31c7be0bed
'Inline' Get and Expired
2015-11-30 13:50:17 -05:00
Patrick Mylund Nielsen
4e0d34ef00
Only get the current time once in the DeleteExpired loop
2015-11-30 13:39:27 -05:00
Patrick Mylund Nielsen
a45ed98559
Add benchmarks that use expiring items (time.Now calls) and rename BenchmarkDeleteExpired to BenchmarkDeleteExpiredLoop for clarity
2015-11-30 10:45:30 -05:00
Patrick Mylund Nielsen
28ab885a1a
Make BenchmarkDeleteExpired more meaningful
2015-11-28 15:13:26 -05:00
Patrick Mylund Nielsen
cf4e165754
Add IncrementInt benchmark
2015-11-28 14:56:23 -05:00
Patrick Mylund Nielsen
901b2413ee
Improve cache locality by removing Item-related pointers
2015-11-28 14:47:46 -05:00
Patrick Mylund Nielsen
3d4d09ca0b
Add a benchmark for DeleteExpired()
2015-11-28 14:35:38 -05:00
Patrick Mylund Nielsen
0ba3e0049c
Update copyright years
2015-11-28 14:21:44 -05:00
Patrick Mylund Nielsen
ac0fcef49b
Clarify that the OnEvicted function isn't called when an item is overwritten
2015-11-28 12:27:08 -05:00
Patrick Mylund Nielsen
e9441b12e0
Add mutex-using test condition to TestOnEvicted
2015-11-28 12:22:52 -05:00
Patrick Mylund Nielsen
3f2c810ea1
Add OnEvicted()
2015-11-27 22:00:08 -05:00
Patrick Mylund Nielsen
a0136a8980
Don't expose the cache mutex
2015-11-27 13:03:24 -05:00
Patrick Mylund Nielsen
a122e14c4b
Merge pull request #23 from databus23/patch-1
...
Fix leaking the janitor ticker when shutting down
2015-10-13 08:21:26 -04:00
Fabian Ruff
fe045e4040
Fix leaking the janitor ticker when shutting down
2015-10-13 12:55:54 +02:00
Patrick Mylund Nielsen
93d85800f2
README.md: Add missing 'time' import to example
2015-03-03 09:09:38 -05:00
Patrick Mylund Nielsen
03284ca422
Replace sharded hash function/misc mods
2014-12-22 10:37:59 -05:00
Patrick Mylund Nielsen
8a2f4f19ef
go fmt
2014-12-22 02:48:52 -05:00
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