1. 28 4月, 2010 5 次提交
    • J
    • C
      Destroy respects optimistic locking. · 7e06494e
      Curtis Hawthorne 提交于
      Now works with :dependent => :destroy and includes unit tests for that
      case.  Also includes better error messages when updating/deleting stale
      objects.
      
      [#1966 state:committed]
      Signed-off-by: NJeremy Kemper <jeremy@bitsweat.net>
      7e06494e
    • N
      ef5dadaf
    • J
      Switch driver to pg. [#3635 state:resolved] · 7100c9d6
      Jeremy Kemper 提交于
      7100c9d6
    • B
      ActiveSupport::Cache refactoring · ee51b51b
      Brian Durand 提交于
      All Caches
      
      * Add default options to initializer that will be sent to all read, write, fetch, exist?, increment, and decrement
      * Add support for the :expires_in option to fetch and write for all caches. Cache entries are stored with the create timestamp and a ttl so that expiration can be handled independently of the implementation.
      * Add support for a :namespace option. This can be used to set a global prefix for cache entries.
      * Deprecate expand_cache_key on ActiveSupport::Cache and move it to ActionController::Caching and ActionDispatch::Http::Cache since the logic in the method used some Rails specific environment variables and was only used by ActionPack classes. Not very DRY but there didn't seem to be a good shared spot and ActiveSupport really shouldn't be Rails specific.
      * Add support for :race_condition_ttl to fetch. This setting can prevent race conditions on fetch calls where several processes try to regenerate a recently expired entry at once.
      * Add support for :compress option to fetch and write which will compress any data over a configurable threshold.
      * Nil values can now be stored in the cache and are distinct from cache misses for fetch.
      * Easier API to create new implementations. Just need to implement the methods read_entry, write_entry, and delete_entry instead of overwriting existing methods.
      * Since all cache implementations support storing objects, update the docs to state that ActiveCache::Cache::Store implementations should store objects. Keys, however, must be strings since some implementations require that.
      * Increase test coverage.
      * Document methods which are provided as convenience but which may not be universally available.
      
      MemoryStore
      
      * MemoryStore can now safely be used as the cache for single server sites.
      * Make thread safe so that the default cache implementation used by Rails is thread safe. The overhead is minimal and it is still the fastest store available.
      * Provide :size initialization option indicating the maximum size of the cache in memory (defaults to 32Mb).
      * Add prune logic that removes the least recently used cache entries to keep the cache size from exceeding the max.
      * Deprecated SynchronizedMemoryStore since it isn't needed anymore.
      
      FileStore
      
      * Escape key values so they will work as file names on all file systems, be consistent, and case sensitive
      * Use a hash algorithm to segment the cache into sub directories so that a large cache doesn't exceed file system limits.
      * FileStore can be slow so implement the LocalCache strategy to cache reads for the duration of a request.
      * Add cleanup method to keep the disk from filling up with expired entries.
      * Fix increment and decrement to use file system locks so they are consistent between processes.
      
      MemCacheStore
      
      * Support all keys. Previously keys with spaces in them would fail
      * Deprecate CompressedMemCacheStore since it isn't needed anymore (use :compress => true)
      
      [#4452 state:committed]
      Signed-off-by: NJeremy Kemper <jeremy@bitsweat.net>
      ee51b51b
  2. 27 4月, 2010 7 次提交
  3. 26 4月, 2010 6 次提交
  4. 25 4月, 2010 14 次提交
  5. 24 4月, 2010 1 次提交
  6. 23 4月, 2010 6 次提交
  7. 22 4月, 2010 1 次提交