RedisのKeyを全て削除する方法は、flushallとflushdbがある。flushallは全てのDBの全てのKeyを削除し、flushdbは選択されているDB内のKeyを全て削除する。 flushall 現在選択されているデータベースだけでなく、既存のすべてのデータベースのすべてのキーを削除します。このコマンドは決して失敗しません。 この操作の時間計算量(time-complexity)はO(N)です。Nは既存のすべてのデータベースのキー数です。
![RedisのKeyを全て削除する - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/70b28110fb2ee287013c04dafa8b7d98e7562ef8/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UmVkaXMlRTMlODElQUVLZXklRTMlODIlOTIlRTUlODUlQTglRTMlODElQTYlRTUlODklOEElRTklOTklQTQlRTMlODElOTklRTMlODIlOEImdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTM4YTViMWY4M2IwNGY4MTVhYTBjYzA3ZTgzMTZmMTNh%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDByZW9yaW5nJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0yY2U3ZTFmNTUyOWYwMzZiMDFmMjZhYmNiZTMxZTQwNg%26blend-x%3D142%26blend-y%3D436%26blend-mode%3Dnormal%26txt64%3DaW4gQ3JhZnRzbWFuIFNvZnR3YXJl%26txt-width%3D770%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%2523212121%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D156%26txt-y%3D536%26s%3D04d92d3980921998366643e5ba15d6b4)
tl;dr Railsではコネクションプール数を設定していても、1スレッド辺り1コネクションしか持ちません。 発端 アカツキではRails + Unicorn + Nginx + MySQLの構成をAWSで運用しており、c3.4xlargeのインスタンス上で1台辺り64のUnicornワーカープロセスが実行される設定になっています。 ソーシャルゲームでは時にたくさんのアプリケーションサーバを並列稼働される必要がでてきます。特に年末年始の時期は平時の2-3倍のトラフィックが予想され、アプリケーションサーバを最大100台で稼働させる必要がありました。 Railsのdatabase.ymlのpool設定は5だったので、単純に考えると最大 100台 * 64プロセス * 5接続 = 32,000個の接続が常時貼られるのでは?MySQLのmax_connectionsの設定は大丈夫か?という議論があ
EC2(Amazon Linux 2015.09)からElastiCache Redisの各Redisノードに接続し、コマンド実行する方法を紹介します。 ElastiCache Redisは2017/10末から通信の暗号化に対応しました。通信を暗号化している場合は次のブログを参照下さい。 Amazon ElastiCache for Redisの通信暗号化とクライアント認証をやってみた Redisノードのエンドポイントを確認 マネージメントコンソール CLI の2通りで確認します。 1.マネージメントコンソールから確認 メニューから「ElastiCache→Cache Clusters」と遷移し、クラスター一覧画面に移動します。 エンドポイントを確認したいクラスターの「Nodes」列をクリックすると、ノード一覧画面に遷移します。 Redisの場合は、1クラスターにつき1ノードだけが存在しま
本稿では Key-Value ストア型データベースである Redis にPHPから接続するためのRedisクライアント「Predis」について、概要とインストール方法を解説します。 Predisとは? Predis はオープンソースの Redis クライアントライブラリで、MITライセンスのもとで公開・開発されています。 Predis を利用するメリットとしては、PredisはピュアPHPのライブラリであり、特別な設定などが必要ないことがあります。 Composer などのパッケージ管理ソフトウェアでインストールすることができます。 しかし逆にいうと、C言語で作られたPHP拡張のRedisライブラリと比べて速度は劣る点がデメリットとなります。 そこまで高速性を求めない場合にはとても使いやすいライブラリです。 しかし、Redis はデータキャッシュなどで利用することが多いでしょうから、用途と
概要 Laravelのキャッシュの保存先にRedisを使いたかった。 クラスターモードを有効にして、Redis AUTHを使った時にLaravelでRedisの設定をググりながらやってたら、つまづいたのでメモとして残しておくこととする。 環境 php7.1.16 Amazon Linux 2 Redis 5.0.3 Laravel 5.6 手順 AWSのElastiCacheコンソールからRedisを作成する ノードのタイプとか用途に応じて設定する 今回だと「クラスターモードが有効」かつ送信中の暗号化とRedis AUTHを使う 作成したRedisに適切なセキュリティグループを設定する composerでpredisをインストール envとconfigのdatabaseをredisを使うように変更する 作成したRedisに適切なセキュリティグループを設定する 今回はLaravelがあるEC
前に書いた Vagrant * Ansible で作成した環境をベースに、Laravel 5.5 で開発したり検証したりしております。 正直、プログラミングには苦手意識があるのですが…Laravelで組んでると楽しい! コイツいいですわぁー。もっと早く使っておけばよかった。 で、キリのいいところでAWSのステージング環境に突っ込むわけですが、主題の件でようわからんくなったんでメモ。 環境 Vagrant PHP7.2 / Laravel5.5 Redis 3.2.10 AWS PHP7.2 / Laravel5.5 ElastiCache for Redis ふつうRedisの認証は楽 Vagrant上のCentOSに入れたRedisであれば、簡単に認証を設定できます。 (クラスタ組んでたりする場合は違うかも…) /etc/redis.conf requirepass PASSWORD L
PHPからRedisを操作するためのPhpRedisとPredis、両方を試してみます。 環境 Windows 10 (64bit) XAMPP 7.1.4 (PHP 7.1.4) PHPのアーキテクチャ: 32bit Redisをインストール まずは元となるRedisをインストールします。 RedisをWindowsにインストール - Qiita 特に設定をいじらなければ、ホスト: 127.0.0.1、ポート: 6379となるはずです。 また、インストールが終わったらすでに起動しています。 間違ってRedisをシャットダウンしてしまった場合は、redis-server --service-startとコマンドを打つよりもWindowsのサービスでRedisを起動する方が余計なウィンドウを減らせていいと思います。 GUIツールをインストール https://redisdesktop.com
以前に別の記事で Laravelのセッション管理をデータベースに変更する手順 をご紹介しましたが、今回はその派生でインメモリデータベースであるRedisを利用する手順をご紹介致します。 基本的にはLaravelの公式ドキュメントに記載されている通りです。 Laravelに、利用するRedisへの接続情報を定義し、セッション管理の設定をRedisに変更します。 https://readouble.com/laravel/5.5/ja/redis.html なお、今回使用するRedisはAWSのElastiCacheで構築します。 https://aws.amazon.com/jp/elasticache/ 手順 ElastiCacheの構築 ElastiCacheの利用手順 の記事でElastiCacheの構築の流れをご紹介しておりますので、流れに沿って構築します。 Predisのインストー
インメモリDBとデータの永続化 前回のRedisの紹介では、Redisの特長や導入手順、基本的な使い方についてご紹介しました。本稿では、インメモリデータベースのデータ永続化についてご紹介します。 Redisはインメモリデータベースであるため、サーバプロセスが終了するとメモリ上のデータも消えてしまいます。そこで、Redisはサーバプロセス終了後もデータを保持するための2種類の機能が用意されています。 RDB Redisでは特定の時点のスナップショットをRDBファイルとして保存することができます。RDBはデータベースのダンプファイルに相当します。SAVEコマンドおよびBGSAVEコマンドで現時点のスナップショットを保存できます。また、設定により、一定の書き込み数と時間の経過により自動的にデータを保存することもできます。デフォルトの設定は以下のようになっており、条件を満たした場合にデータが自動保
Redis 4.0正式リリース。モジュールによる機能やデータの拡張が可能に、新レプリケーションエンジンで運用が改善 Redis 4.0はモジュールによる機能拡張の実現、新しいレプリケーションエンジンによる高速なレプリケーション、新しいアルゴリズムの追加によるキャッシュの改善、フラッシュの非同期実行など、多くの機能追加が行われています。 リリースノートには、「内部における変更に関していえば、4.0はおそらくこれまででもっとも劇的なリリースだろう」と、次のように記されています。 Note that 4.0 is probably one of the most extreme releases of Redis ever made in terms of changes inside the internals 新しいレプリケーションエンジン「PSYNC2」 Redis 4.0では新しいレプリ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く