Redisコマンド覚書-GET (redis-cli & owlient-phpredis)

GET

指定したキーのデータ(文字列)を取得する。

GET redis-cli

[sourcecode language=”bash”]
redis 127.0.0.1:6379> set key01 testval
OK
redis 127.0.0.1:6379> get key01
"testval"
[/sourcecode]

GET owlient-phpredis

[sourcecode language=”bash”]
$redis = new Redis();
$redis->connect(‘localhost’, 6379);
echo $redis->set(‘key_01’, "testval" , 3600);

echo $redis->get(‘key_01’);
[/sourcecode]

Redisコマンド覚書-SET (redis-cli & owlient-phpredis)

SET

指定したキーのデータ(文字列)を登録する。

SET redis-cli

[sourcecode language=”bash”]
redis 127.0.0.1:6379> set key01 testval
OK
redis 127.0.0.1:6379> get key01
"testval"
[/sourcecode]

SET owlient-phpredis

[sourcecode language=”bash”]
$redis = new Redis();
$redis->connect(‘localhost’, 6379);
echo $redis->set(‘key_01’, "testval" , 3600);

echo $redis->get(‘key_01’);
[/sourcecode]

Redisコマンド覚書-TTL (redis-cli & owlient-phpredis)

TTL

指定したキーの値を削除して、削除したキーの数が戻り値

TTL redis-cli

[sourcecode language=”bash”]
redis 127.0.0.1:6379>set key01 testval
OK
redis 127.0.0.1:6379>expire key01 3600
(integer) 1
redis 127.0.0.1:6379>ttl key01
(integer) 3564
[/sourcecode]

TTL owlient-phpredis

[sourcecode language=”bash”]
$redis = new Redis();
$redis->connect(‘localhost’, 6379);
echo $redis->set(‘key_01’, "testval" , 3600);

echo $redis->ttl(‘key_01’);
[/sourcecode]

Redisコマンド覚書-DEL (redis-cli & owlient-phpredis)

DEL

指定したキーの値を削除して、削除したキーの数が戻り値

DEL redis-cli

[sourcecode language=”bash”]
redis 127.0.0.1:6379>set key01 1
OK
redis 127.0.0.1:6379>del key01
(integer) 1
[/sourcecode]

DEL owlient-phpredis

[sourcecode language=”bash”]
$redis = new Redis();
$redis->connect(‘localhost’, 6379);
echo $redis->del(‘key_01’);
[/sourcecode]

Redisコマンド覚書-EXISTS (redis-cli & owlient-phpredis)

EXISTS

指定したキー値が存在するかチェックして、存在する場合1、しないばあい0を返す。

EXISTS redis-cli

[sourcecode language=”bash”]
redis 127.0.0.1:6379>exists key01
(integer) 0
redis 127.0.0.1:6379>set key01 1
OK
redis 127.0.0.1:6379>exists key01
(integer) 1
[/sourcecode]

EXISTS owlient-phpredis

[sourcecode language=”bash”]
$redis = new Redis();
$redis->connect(‘localhost’, 6379);
echo $redis->exists(‘key_01’);
[/sourcecode]

RedisをさくらのVPSにインストール (owlient-phpredis)

RedisをさくらのVPSにインストールしてみました。

OSはFedora release 16です。

バージョンは2.4.16で、ソースからインストールします。

wget http://redis.googlecode.com/files/redis-2.4.16.tar.gz
tar zxvf redis-2.4.16.tar.gz
cd redis-2.4.16
make
make install


次にredisをポート6379でサーバーとして起動するように設定します。
redisはメモリーからファイルへの書き出しも行うので、ファイルの保存先も作成します。

mkdir /var/redis/
mkdir /var/log/redis/
cp redis-2.4.16/utils/redis_init_script /etc/init.d/redis
cp redis-2.4.16/redis.conf /etc/redis/6379.conf


次にコピーしたredisサーバーの設定ファイルを修正します。

daemonize no
↓
daemonize yes 

pidfile /var/run/redis.pid
↓
pidfile /var/run/redis_6379.pid

logfile stdout
↓
logfile /var/log/redis/redis6379.log

dir ./
↓
dir /var/redis/


redisをサービスとして起動します。

/etc/rc.d/init.d/redis stop


redisのコマンドラインインターフェースが用意されているので実行してみます。
今回は認証は行っていないので、そのままログインできます。

redis-cli 
redis 127.0.0.1:6379> 
redis 127.0.0.1:6379> 
redis 127.0.0.1:6379> 

CloudStackでXenServerがUnable to add the hostで追加できない。

CloudStackで構築していたら、host(コンピューティングノード)の追加で「Unable to add the host」とエラーになってしまいました。
エラー[Unable to add host]



今回のCloudStack環境

Management Server、Database Server、Storage共通
  • CentOS release 6.3 (Final)
  • CloudStack-oss-3.0.2-1-rhel6.2
Computing Node
  • XenServer release 6.0.2-53456p (xenenterprise)


注意点として、CloudStackでXenを利用するにはバージョンに注意する必要があります。
XenServer6.0.2の場合、CloudStack3.0.1を利用し、XenServer6.0場合、CloudStack3.0.0を使用する必要があるので注意しましょう。
また、Xenのライセンス(license.xslic)やインストール時点でのパッチ(今回はXS602E003.zip)は適応させておきましょう。

CloudStack[Unable to add host/Unable to add the host]を解決

Unable to add the hostを解決するにはデータベースの修正とXenCenterでの操作が必要でした。

Unable to add host/Unable to add the hostを解決(XenCenter)

CloudStack側でホストの追加を行う前に、XenCenterで事前Poolの作成を行います。

Unable to add host/Unable to add the hostを解決(mysql)

CloudStackのデータベースを修正します。

[sourcecode language=”sql”]
mysql>
mysql> use cloud
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql>
mysql> INSERT INTO `cloud`.`configuration` (`category`, `instance`, `component`, `name`, `value`, `description`) VALUES (‘Advanced’, ‘DEFAULT’, ‘management server’, ‘xen.check.hvm’, ‘false’, ‘Shoud we allow only the XenServers support HVM’);
Query OK, 1 row affected (0.05 sec)
mysql>
mysql> commit
-> ;
Query OK, 0 rows affected (0.00 sec)
mysql>
[/sourcecode]

これでUnable to add host/Unable to add the hostが出ていましたが、無事CloudStackへXenServerを追加することができました。

IPアドレスチェックツールからページランク、ポート開放確認ツールなどWEB系ツールまとめ

IPアドレスチェックツールからページランク、ポート開放確認ツールなどWEB系ツールまとめ!!

自分が良く使うのでIPチェックツールやページランク取得ツール、Whois情報取得などWEB系のツールをまとめました。


2014/03 いたずらが多いので、LinuxのCUIでのIP確認ツールのみ公開しています。

Linux コマンドラインでのグローバルIPを確認


wget -q http://doroidpanic.com/webtools/ip/ -O –

上記のコマンドはアクセス元IPアドレスを表示するだけのページへアクセスし、標準出力にIPアドレスを表示します。

  • IPアドレス確認ツール
  • ポートチェックツール
  • Linux CUI IP確認ツール
  • Whois情報取得ツール
  • ページランク取得

PayPalのPayPal Express Checkoutを使ってみた-サンドボックスの設定からPHPソースまでその1

PayPal決済のExpressCheckoutをPHPで実装するときのメモ

PayPalのエクスプレスチェックアウトとはECサイトなどからPayPalのサイトを経由してPayPalのクレジットカード決済を利用するための仕組み。


PayPalのサイトより


エクスプレス チェックアウトは、PayPalアカウントへ事前に登録したクレジットカード番号や配送先情報を使用して決済をおこないます。そのため、購入者はクレジットカード情報を入力することなく、PayPalアカウントにログインし、シンプルな確認および承認作業をおこなうだけで、決済を完了できます。スムーズな決済フローで、かご落ち率の減少に貢献します。

PayPalにはサンドボックスというテスト環境が用意されているのでまずは、サンドボックすのアカウントをさくせいします。

サンドボックスのアカウントが作成できたら、PayPalのサンドボックスへログインして、Test Accountsを作成します。

アカウントはAccount TypeでBuyer(買い手)、Seller(売り手)を作ることが出来きます。
とりあえず、WEBサイトに組み込んでの決済なので、Website Payments Pro以外の2アカウントがあれば、OKです。

  • Country:国
  • Account Type:ユーザーのタイプ
  • Login Email:ログイン用メルアド
  • Password:パス
  • Add Credit Card:架空のクレジットカード
  • Add Bank Account:架空の銀行口座が設定
  • Account Balance:PayPal口座の残高
  • Notes:メモなので、適当に。



PayPalのテストアカウントができたら、次はソースコードです。
PayPalにはASPやPHP、JAVAなどのソースが公開されていますが、今回はintegrationwizardでPHPのソースコードを作成します。

integrationwizardへアクセスして、ウィザードにしたがってソースを作成していきます。

https://www.paypal-labs.com/integrationwizard/ecpaypal/main.php

今日のところは、ここまでで、くわしくは続きで書きます。

mysqlのリカバリーでmysqlbinlog: unknown variable ‘default-character-set=utf8’

mysqlがクラッシュして、binlogを確認しようとしたら

[root@cl.051.db ~]# mysqlbinlog /var/mysqld/mybin-log.000121
mysqlbinlog: unknown variable 'default-character-set=utf8'
[root@cl.051.db ~]# 

my.cnfの[client]にdefault-character-setが指定されていることが原因のようなので下記のコマンドにしたら、OKだった。

[root@cl.051.db ~]#mysqlbinlog --no-defaults /var/mysqld/mybin-log.000121