memcachedの有効期限の小ネタ
久しぶりの投稿。
memcachedでテストしてみたので結果だけ。
memcachedの有効期限についてだが、2,592,000(30日分)以上設定できないというのを知識的に知っていたが、試してみた。
ちなみにWindows版にて・・・
versionは1.2.4。最新見てみると1.4.5だって、そんなに進んでんの・・・。
で、telnet上で
set test1 0 0 5
test1
STOREDset test2 0 2592000 5
test2
STOREDset test3 0 2592001 5
test3
STORED
と3件データを投入してみた。
test3はエラーにならないのね。。。
それでもって、それぞれgetしてみると。。。
get test1
VALUE test1 0 5get test2
VALUE test2 0 5get test3
END
おおお、エラーにはならなかったtest3だが、格納されていない。
なるほどぉ。
こういう動きをするのか。。。
ちなみに、日付を30日進めて、getしたところ、
get test1
VALUE test1 0 5get test2
ENDget test3
END
となった、有効期限は効いているみたい。
test2がなくなったからね。
でもって、expire = 0で設定した場合、30日で消えるとかいうことはなさそう。
90日まで進めてみたけどちゃんと残っていた。
LRUであふれて消えるまで残っているみたいです。
なかなか、有意義なテストだった・・・
って、もしかして常識ですか・・・
Maker's MarkのGOLDラベルはじめて飲んだ
今まで、何件かのバーで聞いたけど飲めなかったMaker's MarkのGOLDラベル。
ようやく飲めました。
非常に見づらいけど、左がGOLDで右がREDラベル
バーテンダーもウィスキーについて熱い人でした。
近所にこんないい店があるとは。
memcached session managerをtomcatで使う
webアプリケーションでsessionの情報をmemcachedへ自動で保存する方法を調べてみた。
英語のサイトしか見つからなかったが、どうやら、こいつがいけるっぽい。
Google Code Archive - Long-term storage for Google Code Project Hosting.
Tomcatに設定してフェールオーバー対策まで行ってくれる。
自動で
セッションを見て、メモリ上になかったら、memcachedに見に行く。
そんな感じかな。
まだ、ぜんぜん使えていないが、設定だけは行って起動したら、動いたっぽい。
サイトの受け売りだけど、
catalina_home\libに
を置く。
serializeの方法によって置くjarファイルが増えるらしいけど、とりあえず、今回はこれでやってみる。
で、
catalina_home\conf\server.xmlに追記
これは、上記ページままだけど、自分は transcoderFactoryClassの行は消しました。
で、実行すればよいそうで、実行してみたら、
起動はしたけど、エラー。
2010-02-14 22:57:49.019 INFO net.spy.memcached.MemcachedConnection: Reconnectin
g due to failure to connect to {QA sa=localhost/127.0.0.1:11211, #Rops=0, #Wops=
0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0}
java.net.ConnectException: Connection refused: no further information
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:574
)
at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.ja
va:295)
at net.spy.memcached.MemcachedConnection.handleIO(MemcachedConnection.ja
va:193)
at net.spy.memcached.MemcachedClient.run(MemcachedClient.java:1458)
当然です。
memcachedを起動していなかったから。
というかインストールも忘れてた。
で、インストールしようとして、本日の別記事、memcached for windowsを64bitで動かす - unrockoの日記へと流れます。
結論から言うと、memcachedインストールできなくて、テストできませんでした。
だめだめだぁ。
明日だめなら、32-bit版でテストしよ。
どうせ、Linuxでやることになるだろうし。
memcached for windowsを64bitで動かす
以前、memcache for windowsをインストールして実行したが、
64-bitのwindowsマシンに入れたら、インストールと起動ができなかった。
C:\Tools\memcached-1.2.4-Win32-Preview-20080309_bin>memcached.exe -d install
failed to install service or service already installed
と出る。
起動しようとすると
C:\Tools\memcached-1.2.4-Win32-Preview-20080309_bin>memcached.exe -d start
failed to start service
と出る。
32-bit版を使用したので当然といえば当然か。
ということで、64bitを探すことに。
google先生に聞くと、こんなサイトを見つけた。
Google グループ
>>>>>>> I would not recommend using any version prior to 1.2.5 on the windows
>>>>>>> platform, we've had issues with all of them.>>>>>>> You can get a 1.2.5 binary here:
>>>>>>> http://code.jellycan.com/memcached/>>>>>>> Or here:
>>>>>>> http://code.google.com/p/beitmemcached/downloads/list>>>>>>> We've been running that on both Server 2003 64bit and Server 2008
>>>>>>> 64bit without any problems.
この辺の話題をみると、1.2.5では、問題なく動くぜ!
って言ってるぽい。
ので、
Google Code Archive - Long-term storage for Google Code Project Hosting.
ここから、ダウンロードして解凍、そして実行してみる。
C:\Tools\Memcached_1.2.5>memcached.exe -d install
failed to install service or service already installedC:\Tools\Memcached_1.2.5>memcached.exe -d start
failed to start service
だめじゃねーか。
えー
今日はだめだ。。。
明日、調査してみよう。
スーケラビリティの関連の本を3冊も買ってしまった。
仕事でWebサイトの分散化をやることになり、大量に本を買ってしまった。
ううう。
こりゃ、今月も冷や飯だぁ。。。
まず、自分の中では敷居高すぎのHadoop
しかも、O'REILLY。
これ、一回いじっただけじゃ正直なにができるのかよく分からなかった。
MapReduceをもう一度基礎から勉強しないと理解できないなぁ。
Googleの人ってすごい頭してるなぁ。
読みながらブログにフィードバックしていこう。。。
- 作者: Tom White,玉川竜司,兼田聖士
- 出版社/メーカー: オライリージャパン
- 発売日: 2010/01/25
- メディア: 大型本
- 購入: 9人 クリック: 449回
- この商品を含むブログ (73件) を見る
で、2冊目が、またまたO'REILLYのWebサイトのスケーラブルの本。
立ち読みしたら意外と読みやすかった。
O'REILLYが読みづらいってのは、昔の話?
ずっと敬遠してたからなぁ。
はじめにを読むと、インフラの話がメインらしい。
自分の弱点を補うためにもがんばらないと。
- 作者: Cal Henderson,武舎広幸,福地太郎,武舎るみ
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2006/12/26
- メディア: 大型本
- 購入: 4人 クリック: 115回
- この商品を含むブログ (70件) を見る
で、最後が、、、またまた、O'REILLYじゃないか!!!
今、気がついた!
これ、人気みたいですね。
本屋でも一押しでした。
- 作者: 鈴木雄介,Richard Monson-Haefel,長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2009/10/05
- メディア: 単行本(ソフトカバー)
- 購入: 17人 クリック: 362回
- この商品を含むブログ (82件) を見る
ということで、3冊全部O'REILLYだったという訳で、そりゃ高いわな
敷居高そうだけど、まじめに少しずつ進めて体得したいものだなぁ。
がんばれ。飽き性な自分。
memcachedをwindowsに入れてJavaで操作してみた
メモとして
まず、memcachedのwindows版を落とす。
http://www.splinedancer.com/memcached-win32/
memcached-1.2.4-Win32-Preview-20080309_bin.zip
と言うファイルがダウンロードできるので、解凍する。
インストール方法は、
コマンドラインから以下のコマンドを実行するよう
> c:\memcached-1.2.4-Win32-Preview-20080309_bin\memcached.exe -d install
サーバーの起動方法は、
コマンドラインから以下のとおり
> c:\memcached-1.2.4-Win32-Preview-20080309_bin\memcached.exe -d start
とりあえず、タスクマネージャーを確認するとプロセスは起動しているよう。
なので、テストしてみる。
コマンドプロンプトからtelnetでつないで操作する。
接続
> telnet localhost 11211
接続できたら・・・ステータス確認
> stats
STAT pid 3804
STAT uptime 732
STAT time 1265011436
STAT version 1.2.4
STAT pointer_size 32
STAT curr_items 0
STAT total_items 0
STAT bytes 0
STAT curr_connections 1
STAT total_connections 2
STAT connection_structures 2
STAT cmd_get 0
STAT cmd_set 0
STAT get_hits 0
STAT get_misses 0
STAT evictions 0
STAT bytes_read 28
STAT bytes_written 14
STAT limit_maxbytes 67108864
STAT threads 1
END格納テスト
> set unrocko 0 0 5
test1
STORED
※最初の0はフラグ、2番目は格納期限 0は無期限、最後の5は5byteの文字を格納するよってことらしい取り出しテスト
> get unrocko
VALUE unrocko 0 5
test1
END
memcachedへの格納は行われている。
問題なし。
次にJavaからアクセスしてみる。
まず、以下の2つのjarが必要
- java_memcached-release_2.0.1.jar
- log4j-1.2.13.jar
で、ソースは以下の通り
MemCachedClient.java
package jp.co.zealot.iwashita.memcached.test; import com.danga.MemCached.MemCachedClient; import com.danga.MemCached.SockIOPool; public class MemcachedTest { public static void main(String[] args) { SockIOPool pool = SockIOPool.getInstance(); pool.setServers(new String[] {"localhost:11211"}); pool.initialize(); MemCachedClient client = new MemCachedClient(); client.set("hoge", "HogeHoge"); client.set("piyo", "PiyoPiyo"); client.set("fuga", "FugaFuga"); String name = (String) client.get("hoge"); System.out.println("name:" + name); String str = (String) client.get("puri"); System.out.println("str1 : " + str); if (str == null) { client.set("puri", "PuriPuri"); } str = (String) client.get("puri"); System.out.println("str2 : " + str); } }
結果は
name:HogeHoge
str1 : null
str2 : PuriPuri
大丈夫な感じ。
まぁ、そんな難しいことじゃないから、どちらかというとどう設計して、どう活用するかが難しいところかな。
SmartQ5をこうてしもうた
CoviaのAndroidガジェットSmartQ5を買って、本日届いたのでとりあえず、レビューしてみる。
まぁ、Amazonのレビューを見ていたので、期待と不安が入り混じった、、、
いや、不安のほうがはるかに大きかったわけだが、
箱を開けてみると。。。
第一印象は、ボディが安っぽい。
という感じか。。。
あと、四角なボディがサイズ以上に大きなイメージを与えてる。
iPhoneと重さを比べても、重いはずなのに、なぜか軽く感じてしまうのは、見た目の安っぽさのせいか・・・。
こんな感じ
大きさをiPhoneと比較してみたのがこんな感じ
まぁ、開発用に買ったのだから、日常の操作性などはあまり求めていない。
いないが、それなりに使えるものであって欲しいという願望はあった。
実際、起動してみると、、、
一瞬変な音がした。
ディスクが回るような、キュインという変な音が・・・
気にしない気にしない。
で、起動したら、すぐ落ちた。。。
きっと、操作ミスだろう。。。
もう一度起動したら、ちゃんと起動した。
ここで、初めて分かったのだが、というか、ちゃんと書いてあったし、Coviaのサイトの画像にもちゃんとスタイラスがあったのだが、あまり見てなかった。
そう。
抵抗膜方式なのである。
いや、誰が悪いということはなく、自分が見落としていただけなのだが、
勝手に、静電容量方式と勘違いしていた。
いや、それが当たり前と、勝手に認識していたに過ぎない。
画面を指でいじって、あれこれやっている様はなんとも情けない。
ということで、下にスタイラスが入っているのを発見していじってみると、さすがに動きが指よりもいい。
当たり前だが。。。
wifiの設定は問題なく行われ、ホームページも確認できた。
動作は少し鈍い感じがする。
それは、Coviaのサイトにも書いてあったが課題らしい。
ファームウェアを最新にしていないっていうのもあるから、あまり言わないようにしよう。
まずは、SDカードを購入してファームウェアの更新が必須事項かな。
Androidのバージョンだが、どうやら1.5らしい。
1.6へあげれるのかな?
もう少し調べていろいろ試してみよう。
感想としては、本気で実用に使うというのはあまり向いてないと思う。
ネットワークもwifiのみなので、外で使うのにあまり有効ではないし、家にいたらパソコンあるからあまり用途がない。
パソコンない人が家にwifi接続環境があるとも思えないし。
自分としては、開発用としてしか使う用途はないな。
でも、Android1.6にできなかったら、厳しいなぁ。
あと、Coviaのサイトはいい感じ。
毎月ファームウェア更新って書いてあるし、実際2009年12月28日が最終になってるけど、ちゃんと出されてるっぽいし、FAQなんかも、割と親切。
開発端末と割り切れば、楽しめるかも。
- メディア: エレクトロニクス
- 購入: 2人 クリック: 271回
- この商品を含むブログ (15件) を見る