hdknr@debsq:~/tmp/cached_mem$ more config/environment.rb
memcache_options = {
:c_threshold => 10_000,
:compression => false,
:debug => false,
:namespace => 'vis_mod',
:readonly => false,
:urlencode => false
}
CACHE = MemCache.new memcache_options
CACHE.servers = 'localhost:11211'
hdknr@debsq:~/tmp/cached_mem$ ruby script/console
Loading development environment (Rails 2.3.4)
@@@ config/environtment.rb
>> sql ="SELECT * FROM `categories` WHERE (`categories`.`id` = 1)"
=> "SELECT * FROM `categories` WHERE (`categories`.`id` = 1)"
>> d = Digest::MD5.hexdigest(sql)
=> "1b837a35dbfd6bf42f95e110df28c9e5"
>> Category.find_by_sql(sql)
=> [#]
>> CACHE.set(d,Category.find_by_sql(sql))
=> "STORED\r\n"
>> CACHE.get(d)
=> [#]
memcachedログ。
32: Client using the ascii protocol
>32 STORED
>32 sending key vis_mod:1b837a35dbfd6bf42f95e110df28c9e5C 0 247
Category:@attributes_cache{
>32 END
もはや MVC が本当に正しいのかどうか見直す時期に来ているのでは?
本当にオブジェクト指向や MVC は生産性をもたらしたのだろうか? Java なんか単に複雑になっただけなんじゃないだろうか?そういう疑問はあっていいと思います。
今は最先端を行ってるのは PAC(Presentation Abstract Controller)だと確信します。
PAC は MVC の階層的アーキテクチャとみることができます。
これを採用しているソフトには Drupal、Firefox、Eclipse などがあります。誰も指摘しないけど。
Drupal は PAC であり、米アマゾンのウェブ開発カテゴリでの本のランキングに Drupal が入ってきていることからもその生産性の高さが伺い知れると思います。