You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shiro.apache.org by "Francois Papon (Jira)" <ji...@apache.org> on 2020/01/23 07:39:00 UTC
[jira] [Closed] (SHIRO-481) Provide CacheManager implementation
based on Guava caching API
[ https://issues.apache.org/jira/browse/SHIRO-481?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Francois Papon closed SHIRO-481.
--------------------------------
Resolution: Won't Do
> Provide CacheManager implementation based on Guava caching API
> --------------------------------------------------------------
>
> Key: SHIRO-481
> URL: https://issues.apache.org/jira/browse/SHIRO-481
> Project: Shiro
> Issue Type: Wish
> Components: Caching
> Affects Versions: 1.2.2
> Reporter: Brendan Le Ny
> Priority: Minor
> Labels: features, patch, performance
> Attachments: SHIRO-481.patch
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> Guava has become a common library used in many projects.
> Provided default implementation (MemoryConstrainedCacheManager) seems to retain data in cache for too long for common cases.
> Others implementation (ehcache, terracotta) require the developper to add some dependencies.
> Guava provides a caching API [1]. It's convenient since it's in-memory and thread-safe, Guava has a mature quality code base and it support few tweaking options:
> concurrencyLevel
> initialCapacity
> maximumSize
> maximumWeight
> expireAfterAccess
> expireAfterWrite
> refreshAfterWrite
> weakKeys
> softValues
> weakValues
> recordStats
> I've already programmed the whole thing (patch provided) and I was wondering if the Shiro team would be interested to integrate this as a new module. It's tiny (no dependency except guava and shiro-cache).
> We could just put this CacheManager implementation in shiro-core or in shiro-cache module or in it's own module (but i think a module for a single class is overkill).
> It's not perfect but i did some Javadoc.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)