タグ

Redisに関するKenji_sのブックマーク (17)

  • RedisサーバのCPU負荷対策パターン - ゆううきブログ

    Redisは多彩なデータ構造をもつ1インメモリDBであり、昨今のWebアプリケーションのデータストアの一つとして、広く利用されている。 しかし、一方で、性能改善のための手法を体系的にまとめた資料が見当たらないと感じていた。 実際、最初にCPU負荷が問題になったときにどうしたものかと悩み、調査と試行錯誤を繰り返した。 そこで、この記事では、自分の経験を基に、RedisサーバのCPU負荷対策を「CPU負荷削減」「スケールアップ」「スケールアウト」に分類し、パターンとしてまとめる。 背景 RedisのCPU負荷対策パターン CPU負荷削減 multiコマンド Redisパイプライニング Luaスクリプティング Redisモジュール(夢) スケールアップ スケールアウト 参照用スレーブ 垂直分割 水平分割 Redis Clusterによる水平分割 その他 スライド資料 あとがき 参考資料 背景 R

    RedisサーバのCPU負荷対策パターン - ゆううきブログ
  • FuelPHP1.8でredisにコマンド発行すると時々無限ループする件 - Qiita

    起きる条件 oilで作ったタスクをデーモン化して常時起動させている場合 redisとの接続が常時接続である場合 上記条件のときにredisの接続しているソケット接続が何らかの原因によって閉じられた場合に、fwriteの戻り値$fwriteに0が返り無限ループになります public function execute() { // open a Redis connection and execute the queued commands foreach ($this->queue as $command) { for ($written = 0; $written < strlen($command); $written += $fwrite) { $fwrite = fwrite($this->connection, substr($command, $written)); if ($

    FuelPHP1.8でredisにコマンド発行すると時々無限ループする件 - Qiita
  • Vagrant に redis をインストールし FuelPHP で cache 利用 - Qiita

    前回、FuelPHP で Welcome ページ参照までを行いました。今回は、cache 機構に Redis を使ってみたかったので、基的なことですが、MacBookAir の Vagrant 内で検証してみました。 構築する環境 OSX 10.9.5 Vagrant CentOS 6.5 FuelPHP 1.7.2 Redis server 2.4.10 Redis-cli 2.4.10 参考: 前回 前回、Welcomeページまでセットした環境の続きとして実行しています。 Mac 上で Vagrant を使って CentOS に FuelPHP をセットアップ 参考:Redis まわり Redis のインストールや操作は下記を参考にさせていただきました。 CentOS-6.5でredisサーバ構築 FuelPHPのキャッシュライブラリ – redis編 参考:日語FuelPHPドキ

    Vagrant に redis をインストールし FuelPHP で cache 利用 - Qiita
  • FuelPHPでセッション共有時の注意点 - Qiita

    TL;DR FuelPHPでセッション情報をMemcacheやRDBMSなどを使って複数ノードで共有する場合には、 app/config/crypt.php を複数ノードで同じ値となるように設定する必要がある。 背景 Webアプリを複数ノードで構成して、ロードバランサでセッション維持をしない場合には、どのノードにユーザの再アクセスがあってもセッションを維持するために、セッションストアとしてMemcacheやRDBMSなどを使うと思います。 例えば、以下のような構成。 このような構成を FuelPHP で行う場合の注意点を書いておきます。 図と、以降の説明では ElastiCache(Redis)を使っていますが、注意点についてはRDBMSだろうが普通のMemcacheだろうが同じです。 セッションストアの指定 FuelPHP では、セッションストアの指定を app/config/sessi

    FuelPHPでセッション共有時の注意点 - Qiita
  • fuelphpでredisに画像バイナリを保存

    自分用の画像読み込みクラスを作ったので記念パピコ。 大したことはやってないです。 引数(ファイル名)の画像を探しに行って redisに無ければ加工&再読み込みを行いバイナリをredisに保存。 2回目からはredisから取得する仕組み。 最初はfile_get_contentsの部分をreadfileと書いていたのですが、 redisにゴミデータしか入らないなーと思っていたら readfileって読み込んでそのまま出力しちゃうんですね(*ノωノ) イヤン ソースコードの一部が表示されてなかったので記事を修正しました。(15/11/08) namespace Hoge; use Fuel\Core\Redis_Db; class Myimage { /** * 指定したファイル名から加工した画像を取得する * * @param STRING $org_file_name * @param S

    fuelphpでredisに画像バイナリを保存
  • fuelphpからredisを使うための設定をしてみた

    fuelphpってほんとに最近のwebを考えたフレームワークだなって思います。 json、xmlでのレスポンス作成が簡単で そしてredisもすぐに使える。 以下、使い始めの設定を簡単に書いちゃいます! [db.php] DBの接続情報を書いているdb.phpにredisの接続情報を記述。 localとしているところはそれぞれで決めてください。 他のサイトを見るとdefaultを使っている人が多いようです。 return array( 'default' => array( 'connection' => array( 'dsn' => 'mysql:host=localhost;dbname=database;unix_socket=/tmp/mysql.sock', 'username' => 'user', 'password' => 'pass', ), 'charset' =>

    fuelphpからredisを使うための設定をしてみた
  • fuelphpでredisを使ってみた - いそぱんのブログ

    <? php //インスタンスの生成 //$nameはredis接続先config.phpのredis設定 $redis = Redis_Db::forge($name); $redis->set('key', 'value'); $a = $redis->get('key'); var_dump($a) . "\n"; $redis->del('key'); $a = $redis->get('key'); var_dump($a) . "\n"; $redis->rpush('key', 'a'); $redis->rpush('key', 'b'); $redis->rpush('key', 'c'); $redis->rpush('key', 'd'); $a = $redis->lrange('key',0,-1); var_dump($a) . "\n"; $redis->lp

    fuelphpでredisを使ってみた - いそぱんのブログ
  • Redis勉強会資料(2015/06 update)

    Redis勉強会の資料です。2013年に初版をアップしました。2015年6月にRedis-Clusterの内容を追記して再アップを行っています。Read less

    Redis勉強会資料(2015/06 update)
  • Redis Sentinelを運用してみたお話 | GMOメディア エンジニアブログ

    こんにちは、宇津井です。 弊社ではゲソてんというゲームプラットフォームを運営しております。ゲソてんではサービスリリース当初から主にキャッシュ的な役割でRedisを導入していました。つい先日の事ですが訳あってRedis 2.6からサポートされたRedis Sentinelを採用しました。今回は、採用に至った経緯をご紹介します。 簡単なシステム構成 パフォーマンスは良いし、Memcachedには無い便利な機能を提供するRedisですが約一年間運用していくつかの問題が出てきました。 Redisサーバーが突然高負荷に陥るするとWebサーバーも高負荷に陥るRedisのReplicationは張ってるけどアプリケーション側でRedis Slaveへフェイルオーバーしない(MySQLを直接参照する)Redis落ちると恐らくMySQLサーバーが耐えられない(落ちた事無いけど)という事で対策を行ってきました

  • FuelPHPでセッションの保存先をRedisにしてみた

    Macで確認しています。Redisは既にインストールされている状態とします。 参考: MacにRedisをインストールしてみた http://madroom-project.blogspot.jp/2013/03/macredis.html デーモン化したRedisを起動してモニタリングしておきます。 $ redis-server ~/redis.conf $ redis-cli monitor OK FuelPHP1.5.3をDLして、必要なファイルを用意します。 app/classes/controller/redis.php * 確認用の為、適当すぎる内容ですみませんm(_ _)m <?php class Controller_Redis extends Controller { public function action_index() { Session::set('xxx',

  • 『Redis+fuelPHP』

    ひさびさに恐怖の気管支炎きたー 血はいて倒れそう けど寝てても治らないのでげんきにいきます 健康は気から fuelPHPでredisでつまったとこメモ インスタンスたてて、 $redis = Redis::instance(); $result = $redis->rpush('key', 'key1', 'val1'); $result = $redis->del('key', 'key1', 'val1'); $result = $redis->hset('key', 'key1', 'val1'); $redis->lrange('key', 0, -1); $result = $redis->hmset('key', array('key1' =>  'val1', 'key2' => 'val2')); かとおもいきや、超エラー出続け、 googleさんで調べると、このやり方ばっ

    『Redis+fuelPHP』
  • redisってなんじゃ?(FuelPHPの管理画面からSocket.IOで全員にPush)

    以前紹介したFuelPHPもまた、キャッシュストアや、クライアントインターフェースとしてRedisをサポートしています。 そこで、FuelPHPで管理画面をつくり、ボタンを押すとチャット中のユーザーに管理者からのメッセージを表示させたいと思います。 チャットプログラムや構成は前々回の構成のまま、node1, node2という2つのサーバーがredisサーバーにつながってセッション共有されている状態とします。 今回は、以下のように、さらにadminサーバーを追加し、管理画面を置きます。 +----------+       +---------+ | admin    |       | redis   | |----------| pub  |---------| | fuelphp +------->         | |         | sub   | redis   | | a

    redisってなんじゃ?(FuelPHPの管理画面からSocket.IOで全員にPush)
  • takl.org

    takl.org 2024 著作権. 不許複製 プライバシーポリシー

  • FuelPHP1.3でRedisは注意

    FuelPHP1.3でCacheのストレージをredisにするとあまりいいことが無いよってメモ。 詳しく調べてないけど、 fuel_xxxxxxx:index:とかいうkeyにkeyたちがserializeされた状態で保存されてて、 何か操作を行うたびにindexにkeyがあるかチェックするからkeyが増えるに従いトラフィックが増加する。 2012/11/05追記 1.3で1.2のredis使えば良いよ 1.2と1.3の差分 https://github.com/fuel/core/commit/11b6a890cbfcd7b4a5e98529b9d778dc2eacbdb3 もうちょい調査してみよう。 2012/11/12追記 どうやら1.2にはバグがあり正しくヒットしないことがあったが 1.3からは正しく動作するようになったからヒットするようになったらしい。 それにしてもCacheの仕

    FuelPHP1.3でRedisは注意
  • redisドキュメント日本語訳 — redis 2.0.3 documentation

    翻訳について¶ このドキュメントは、RedisのWiki(http://code.google.com/p/redis/wiki/)の内容を参考にしながら、構成などはSphinxに合わせつつ翻訳しています。また、必要に応じて、配布物の中のファイルなども引用しながら訳しています。

  • redisドキュメント日本語訳 — redis 2.0.3 documentation

    翻訳について¶ このドキュメントは、RedisのWiki(http://code.google.com/p/redis/wiki/)の内容を参考にしながら、構成などはSphinxに合わせつつ翻訳しています。また、必要に応じて、配布物の中のファイルなども引用しながら訳しています。

  • FuelPHP + RedisでTwitterもどき - BTT's blog

    元ネタはこちら。 ケーススタディ — redis 2.0.3 documentation 上記ページの内容をFuelPHPで実装しました。 ※一部実装を変えている部分があります。 ソースはこちら。 https://github.com/mmat/fuelphp-redis-tweet ユーザー登録ページ 入力チェックを通過したユーザー名/passwordを文字列型にセット後、 ログイン中を表す期限付きのキーを発行し、Cookieにセットします。 Controller // app/classes/controller/user.php <?php class Controller_User extends Controller { public function before() { parent::before(); $this->redis = Redis::instance(); }

    FuelPHP + RedisでTwitterもどき - BTT's blog
  • 1