![http://post.simplie.jp/posts/116](https://cdn-ak-scissors.b.st-hatena.com/image/square/3e704b8595b3680d2301cf9e206c9f326a05d98f/height=288;version=1;width=512/http%3A%2F%2Fpost.simplie.jp%2Fassets%2Fbrand_480x480-e4e43d5c2adb620e7fcee47e93e67760d7e970f48641a6edaaf774f4f1740867.png)
A high performance, linearly scalable, highly available (HA) and distributed open-source database with support for pluggable persistent and in-memory storage engines. THIS PROJECT IS NO LONGER MAINTAINED. Please use the upstream repo from Netflix. DynomiteDB is a high performance Dynamo layer that adds data replication and sharding to Redis and other single-server storage engines, plus the ability
本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーは一野瀬翔吾さんで、テーマは「PerlでのRedis活用法」です。 本稿のサンプルコードは、本誌サポートサイトから入手できます。 Redisとは RedisはNoSQLやKVS(Key-Value Store)と呼ばれるデータベースの一種で、一般的なKVSに比べ多彩なデータ型を備えているのが特長です。文字列型、リスト型、ハッシュ型、セット型、ソート済みセット型の5つの型があり、これらの型をうまく活用することで単純なKVS以上のさまざまな機能を実現できます。 また、インメモリで動作するため、高いパフォーマンスを得ることができます。必要に応じてデータをディスクへ書き出すこともできるので、万が一トラブルが発生しても安心です。 筆者が以前運営に携わっていたソーシャルゲームでも、Perlをメインに使ったゲームサーバからRe
One of the common complaints people have about python and other popular interpreted languages (Ruby, JavaScript, PHP, Perl, etc) is that they’re slow. A faster language would give better response times and reduce server costs. python3.4 introduced the asyncio module and python3.5 gave it a new syntax that is built into the language. Then, along came uvloop with a huge speed increase: uvloop makes
EVAL script numkeys [key [key ...]] [arg [arg ...]] Available since: 2.6.0 Time complexity: Depends on the script that is executed. ACL categories: @slow, @scripting, Invoke the execution of a server-side Lua script. The first argument is the script's source code. Scripts are written in Lua and executed by the embedded Lua 5.1 interpreter in Redis. The second argument is the number of input key na
RedisってKVSやしチョー早いんやろ? と、そう思っていた時期が私にもありました。 Redisを利用する上で、適切に利用しないと性能が1/10以下に陥ってしまいます。 この記事では、redisの性能を発揮する実装と発揮できない実装で性能測定を行いました。 結論 最初に結論 Redisの読み書きはmget/msetなどの複数のデータを一度に読み書きするコマンドを用いることで本来の性能が発揮できる。 逆に単純にforを用いてget/setなどのコマンドで1件単位でループを回すと大きな性能劣化が発生する。 環境 python3で計測します。 redisはdockerで動かしました。 $ docker run --name redis -d -p 6379:6379 redis:3.2.8 $ redis-cli 127.0.0.1:6379> ping redis-cliは別途インストールし
Docker ID で swarm クラスタへサービスをデプロイできるというもの。 そもそも評価環境や本番環境へは、ビルドはもちろんテストグリーンが保証された CI/CD 環境などからデプロイされるべきだろうし、開発中にローカルでない環境で ちょっと確認してみたいというレベルなら docker-machine でもいいだろうし 何がいいものかいまいちわからなかったのでさわってみました。 まとめ Docker for Mac などで行われる認証を利用して ユーザごとに利用可能な swarm クラスタの一覧表示 (関連付いた組織にもすぐスイッチできる) (管理下にある Docker イメージの一覧も並ぶ) あとはクラスタを選択するだけで クラウド上の swarm クラスタに繋がったターミナルが起動 Docker Cloud が使うプロキシ型ではなく個別 TCP ソケット接続 Docker Cl
RedisはNoSQLのデータストアとして有名ですが、もう1つの機能として、「pub/sub機能」を持っています。もはやSQLと比較するような機能ですらないのですが、軽くまとめてみます。 pub/subとは JavaScriptをやっているとイメージしやすいと思うのですが、onclickに直接イベントを書いてしまうとイベントが1つしか設定できなくなってしまいます。 一方で、addEventListenerを使えば複数イベントをセットできますし、イベントをトリガする側ではイベントがいくつついているかも気にせずに、まとめて発生させることができます。このようにして、「イベントを起こす側」と「イベント処理を行う側」を分離するのがpub/subモデルです。 Redisでのpub/sub まず、受信側がSUBSCRIBE チャンネル名というコマンドをRedisに投げます。ふつうのRedisコマンドは、
Real-time data. Any scale. Anywhere. Simple, less code Loved by developers everywhere Performance at scale <1ms database response time. Supports millions of ops per second Built-in durability Multiple persistence options on both primary and replica shards Serverless DBaaS Automated elastic scaling allowing you to focus on development, not cluster management Consistent global data at low latency Ma
SpringのCache Abstractionで、Redisを試してみたくなったので、気になるところの確認を含めて ちょっと遊んでみます。 Spring BootのAutoConfigure対象で、裏ではSpring Data Redisを使っているみたいです。 Caching / Redis Spring Data Redis ここでは、簡単なJavaBeansをRedisに突っ込むことと、@CacheableアノテーションでCacheを使うくらいの確認を してみます。 準備 まずは、Maven依存関係から。 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> <maven.compiler.source>1.8<
こんにちはエンジニアのYです。 今回はConsulのDNSを使ってRedisの冗長化を検討しましたというお話です。 このような境遇の方は役に立つかもしれません。 Consulとは? HashiCorp社のプロダクトの一つで管理対象のServerに仕込んで使います。下記の様な機能があります。 Service Discovery Failure Detection Key/Value Storage etc 例えばこんなことに使えます。 Service Discovery 起動しているServer(WEB,DB,Redis…)の一覧を出したいときなど Failure Detection NAT用のインスタンスを冗長化・負荷分散したい、障害が発生したらクラスタから切り離したいときなど Key/Value Storage オートスケールのためにリリースされてるアプリケーションのVersionを保持
redis-py - Python Client for Redis# Getting Started# redis-py requires a running Redis server, and Python 3.7+. See the Redis quickstart for Redis installation instructions. redis-py can be installed using pip via pip install redis. Quickly connecting to redis# There are two quick ways to connect to Redis. Assuming you run Redis on localhost:6379 (the default)
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く