<commit_before>NOT READY YET! COME BACK IN SOME DAYS.

= LocalmemcacheStore

LocalmemcacheStore[http://github.com/der-flo/localmemcache_store]
is an ActiveSupport::Cache::Store implementation to be able to use
Localmemcache[http://localmemcache.rubyforge.org/] in Rails.

Localmemcache is an ultra-fast[http://localmemcache.rubyforge.org/#performance]
and lightweight alternative to Memcached[http://www.danga.com/memcached/]
for your Rails application.
Localmemcache runs inside your Rails processes, so you don't need to
run any extra daemons. The configuration is done inside your app and
is an absolutely no-brainer.
As the name says, the cache can only be shared on your local machine
(at the time), but for your small apps scaling/networking often is
not needed. Thanks to Rails'
Cache::Store[http://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html]
interface, switching later is no big deal.

Please read the requirements[http://www.danga.com/memcached/] of
Localmemcache carefully!
In production you should use a 64bit Linux variant.
Developing on Mac OS X is okay, the missing sparse file support of
HFS+ is not that problem as long as you have enough free space on your disk.

== Installation and usage
  Rails::Initializer.run do |config|
    [...]
    config.gem 'localmemcache_store', :source => 'http://gemcutter.org' 
    config.cache_store = :localmemcache_store
  end
Next, install the gem:
  $ sudo gem install localmemcache_store --source http://gemcutter.org

*Done.* Now enjoy your superfast new cache store!

== Configuration
There are configuration defaults to start quickly, but you should consider
these two parameters:
* +:namespace+ : Namespace to avoid name collisions when running multiple
  Localmemcache environments on one machine. (Defaults to +:lmc_store+.)
* +:size_mb+ : Specify the cache size in megabytes. Since the memory is
  used only virtually, you can feel free to use great values like 4096 ;-).
  Remember that this eats up your address space on 32bit systems.
  (Defaults to 128).
A configuration could look like this:
 config.cache_store = :localmemcache_store,
                      { :namespace => 'testapp', :size_mb => 256 }

== Further usage
You can find a good Rails caching intro at
RailsGuides[http://guides.rubyonrails.org/caching_with_rails.html],
they do a better job than me ;-).

The only specific enhancement with the ActiveSupport::Cache::Store
implementation is the ability to use time based expiration in just the way the
Memcached implementation does.
See ActiveSupport::Cache::LocalmemcacheStore#write .

== Feedback
Please provide feedback! Your ideas, error reports and feature requests
are very welcome. Please contact me via
Github[http://github.com/der-flo/localmemcache_store].

---
Copyright (c) 2009 <NAME>, released under the MIT license
<commit_msg>Github does not render README.rdoc fine :-(<commit_after>NOT READY YET! COME BACK IN SOME DAYS.

= LocalmemcacheStore

LocalmemcacheStore[http://github.com/der-flo/localmemcache_store]
is an ActiveSupport::Cache::Store implementation to be able to use
Localmemcache[http://localmemcache.rubyforge.org/] in Rails.

Localmemcache is an ultra-fast[http://localmemcache.rubyforge.org/#performance]
and lightweight alternative to Memcached[http://www.danga.com/memcached/]
for your Rails application.
Localmemcache runs inside your Rails processes, so you don't need to
run any extra daemons. The configuration is done inside your app and
is an absolutely no-brainer.
As the name says, the cache can only be shared on your local machine
(at the time), but for your small apps scaling/networking often is
not needed. Thanks to Rails'
Cache::Store[http://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html]
interface, switching later is no big deal.

Please read the requirements[http://www.danga.com/memcached/] of
Localmemcache carefully!
In production you should use a 64bit Linux variant.
Developing on Mac OS X is okay, the missing sparse file support of
HFS+ is not that problem as long as you have enough free space on your disk.

== Installation and usage
  Rails::Initializer.run do |config|
    [...]
    config.gem 'localmemcache_store', :source => 'http://gemcutter.org' 
    config.cache_store = :localmemcache_store
  end
Next, install the gem:
  $ sudo gem install localmemcache_store --source http://gemcutter.org

*Done.* Now enjoy your superfast new cache store!

== Configuration
There are configuration defaults to start quickly, but you should consider
these two parameters:
* +:namespace+: Namespace to avoid name collisions when running multiple
  Localmemcache environments on one machine. (Defaults to +:lmc_store+.)
* +:size_mb+: Specify the cache size in megabytes. Since the memory is
  used only virtually, you can feel free to use great values like 4096 ;-).
  Remember that this eats up your address space on 32bit systems.
  (Defaults to 128).
A configuration could look like this:
 config.cache_store = :localmemcache_store,
                      { :namespace => 'testapp', :size_mb => 256 }

== Further usage
You can find a good Rails caching intro at
RailsGuides[http://guides.rubyonrails.org/caching_with_rails.html],
they do a better job than me ;-).

The only specific enhancement with the ActiveSupport::Cache::Store
implementation is the ability to use time based expiration in just the way the
Memcached implementation does.
See ActiveSupport::Cache::LocalmemcacheStore#write.

== Feedback
Please provide feedback! Your ideas, error reports and feature requests
are very welcome. Please contact me via
Github[http://github.com/der-flo/localmemcache_store].

---
Copyright (c) 2009 <NAME>, released under the MIT license

{'fraction_non_alphanumeric': 0.0807442513603651, 'fraction_numerical': 0.00631911532385466, 'mean_word_length': 4.586274509803921, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '592306', 'n_tokens_mistral': 1649, 'n_tokens_neox': 1544, 'n_words': 668}