highlight js

2012年7月12日木曜日

repcachedの起動スクリプトメモ。

AWS amazon Linuxでrepcachedの起動スクリプト書いたメモ。
こちらを参考にさせて頂きました。Repcacheを調べてみる

  • repcached用としては提供されていないので、改修したものを下記に記載。
$ sudo vim /etc/init.d/repcached
#! /bin/sh
#
# chkconfig: - 55 45
# description:  The memcached daemon is a network memory cache service.
# processname: memcached
# config: /etc/sysconfig/repcached
# pidfile: /var/run/memcached/memcached.pid

# Standard LSB functions
#. /lib/lsb/init-functions

# Source function library.
. /etc/init.d/functions

EXEC=/usr/local/bin/memcached
REPHOST=localhost

PORT=11211
USER=memcached
MAXCONN=1024
CACHESIZE=64
OPTIONS=""

if [ -f /etc/sysconfig/repcached ];then
        . /etc/sysconfig/repcached
fi

# Check that networking is up.
. /etc/sysconfig/network

if [ "$NETWORKING" = "no" ]
then
        exit 0
fi

RETVAL=0
prog="repcached(memcached)"
PIDFILE=/var/run/memcached/repcached.pid
LOCKFILE=/var/lock/subsys/repcached

start () {
        echo -n $"Starting $prog: "

        daemon --pidfile $PIDFILE $EXEC -d -x $REPHOST -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P $PIDFILE $OPTIONS
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch $LOCKFILE
}
stop () {
        echo -n $"Stopping $prog: "
        killproc -p $PIDFILE $EXEC
        RETVAL=$?
        echo
        if [ $RETVAL -eq 0 ] ; then
                rm -f $LOCKFILE $PIDFILE
        fi
}

restart () {
        stop
        start
}

# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        status -p $PIDFILE $prog
        RETVAL=$?
        ;;
  restart|reload|force-reload)
        restart
        ;;
  condrestart|try-restart)
        [ -f $LOCKFILE ] && restart || :
        ;;
  *)
        echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart|try-restart}"
        RETVAL=2
        ;;
esac

exit $RETVAL

  • 設定ファイルを記述
  • こちらは、環境で適宜書き換えが必須
$ sudo vim /etc/sysconfig/repcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="メガ指定"
OPTIONS=""
REPHOST="ホストのIP"
  • 自分はREPHOSTはEIPのパブリックネームにしてたりします。
    ローガルでの接続で、経費削減、できてると思うんだ・・・!
  • スクリプトに実行権限付与
$ sudo chmod +x /etc/init.d/repcached
  • pidを記録するディレクトリ作成(ユーザmemcachedで書き込みをするため。)
  • $ sudo mkdir /var/run/memcached
    $ sudo chown memcached:memcached /var/run/memcached

  • サービス登録&自動起動の設定
$ sudo chkconfig --add repcached
$ sudo chkconfig repcached on
$ sudo chkconfig --list | grep repcached
  • サービスとして起動&停止
$ sudo service repcache start
$ sudo service repcache stop
$ sudo service repcache status
$ sudo service repcache restart

AWS DynamoDB PHPでquery使う時のメモ。

AWS DynamoDB 
PHPでquery使う時のメモ。
下記のような感じで行けた。




$dynamodb = get_client();
$response = $dynamodb->query(array(
                        'TableName' => 'ad_disp_log',
                        'HashKeyValue' => array(AmazonDynamoDB::TYPE_STRING=>$hashid),
                        'RangeKeyCondition'=>array(
                        'AttributeValueList'=>array(
                                array(AmazonDynamoDB::TYPE_NUMBER=> '201209090121'),
                            ),
                        'ComparisonOperator'=>AmazonDynamoDB::CONDITION_EQUAL),
                ));