sql >> データベース >  >> NoSQL >> Redis

ロギング用のredis

    Redisはインメモリデータベースであることに注意する必要があります(データをディスクに永続化できる場合でも)。 Redisに入力するデータはメモリに収まる必要があります。

    あなたが言及している記事の提案は、Redisを分散キューイングシステムとして使用することに関するものです。ワーカープロセスはアイテムをデキューしてディスクに書き込むため、Redisメモリにはそれほど多くのアイテムはありません。この設計には欠点があります。ワーカープロセスがデータをディスクに十分な速度で書き込めない場合、Redisのメモリ消費量が爆発的に増加するため、構成(Redis maxmemoryパラメーター)またはソフトウェア(挿入時にキューをトリムするか、空にする)によって制限する必要があります。キューがいっぱいになるとキューになります。

    これで、Redisに書き込んだすべてのデータがメモリに保持されるため(Redis自体によってディスクに保持されている場合でも)、提案は実際には機能しません。

    もう1つのポイントは、Redisにクエリを実行できないことです。 Redisはリレーショナルデータベースではなく、アドホッククエリメカニズムをサポートせず、以前に定義されたアクセスパスを含むコマンドのみをサポートします。さまざまなパラメータでデータを検索する場合は、可能なすべての検索を予測し、挿入時に関連するデータ構造(セット、ソートされたセットなど)を構築する必要があります。

    別のストア(MongoDB、またはリレーショナルデータベース)は、おそらくユースケースにはるかに適しています。



    1. TLSを使用したRedisSentinels

    2. AmazonLinuxにMongoDBをインストールする手順

    3. ノード/redisとコールバックの制御フローの問題?

    4. MongoDBのベンチマーク-NoSQLパフォーマンスの推進