🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
memcached

memcached は、汎用の分散型メモリキャッシュサーバです。

Q&A

解決済

2回答

2942閲覧

インメモリとキャッシュの違いについて

sequelanonymous

総合スコア123

memcached

memcached は、汎用の分散型メモリキャッシュサーバです。

0グッド

1クリップ

投稿2019/10/03 06:51

以下の文脈でキャッシュとの違いがよくわかりません。
結局、両者の保存場所が違うとは思うのですが、どっちがどこでというのとメリット・デメリット、目的が曖昧のままです。どなたかご存知の方いましたらご教示頂けませんでしょうか?

https://docs.python.org/ja/3/library/io.html#in-memory-streams

インメモリー ストリーム str や bytes-like オブジェクト を、読み書き可能なファイルのように扱うことができます。 StringIO は文字列に対して、テキストモードで開かれたファイルのように使うことができます。 BytesIO はバイナリーモードで開いたファイルのように扱うことができます。この2つのクラスは、読み書き可能で、ランダムアクセス可能です。

http://j-net21.smrj.go.jp/develop/digital/entry/001-20090805-08.html
上記URL先にあるようにインメモリデータベースとはまた異なるものなのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Y.H.

2019/10/03 08:07

タグの「memcached」は質問にどう絡むのでしょうか? 質問を編集し、「memcached」についておききになりたいことを追記ください。
ikadzuchi

2019/10/03 15:39

「キャッシュ」という言葉の指すものは広いですが、具体的にどのようなキャッシュのことを言っていますか? もしくはキャッシュが何かが分かっていませんか?
guest

回答2

0

Pythonのインメモリストリームと、インメモリーデータベースは、全く関係ありません。
共通点は、メモリ上にあることだけです。

Pythonのインメモリストリームは、引用されているように、

str や bytes-like オブジェクト を、読み書き可能なファイルのように扱うことができます。

です。キャッシュとも全然関係ないですが、どこがキャッシュと似ていると思われたのでしょうか?

投稿2019/10/03 14:34

otn

総合スコア85882

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sequelanonymous

2019/10/05 09:02

似ていないと思っていましたが、同僚にキャッシュに保存されてる、と言われたのと私自身も結局にどこに保存されたのか言えない状態でいるので確認してみているという経緯があります。
guest

0

ベストアンサー

PCにおけるメモリというのはSDRAMというメモリですね
このメモリは大容量である、代わりにアクセスはあんまり早くはないです

それに対し、キャッシュメモリはCPU、あるいはチップセットに内蔵されているスタティックRAMで、アクセスは早い、代わりにそんなに容量はありません。

ということで、CPUは、メモリにアクセスする場合、ある程度まとまったブロックでメインメモリからデータをキャッシュメモリに読み出し、実際の処理はキャッシュメモリ上で行うようにして、早く処理できるようにしてますね

投稿2019/10/03 07:37

編集2019/10/03 07:38
y_waiwai

総合スコア88038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sequelanonymous

2019/10/03 08:55

ありがとうございます。一点確認させてください。 ということは、上記質問内容の文脈でいわているインメモリというのは、PCにおけるメモリというのはSDRAMのことを指しているのでしょうか?
y_waiwai

2019/10/03 09:01

そこでのインメモリストリームというのは、ファイルストリームではなく、メモリ上のストリームということです そして、PC上のメモリというのはSDRAMのことですね。 #まあ、提示先の文章にはキャッシュメモリという言葉はないので、あえてキャッシュメモリの説明を行ってますが
sequelanonymous

2019/10/05 09:06

例えば、i/o周りの処理コードを書くとき、例えばファイルをローカルに保存せずにインメモリに保存してそこから中身を読みとる、みたいな処理のときはSDRAMに一時的に保存されるという認識であっていますか?
y_waiwai

2019/10/05 09:39

PCでめもりがXXGってのはSDRAMのことをいいます HDDー>メインメモリ(SDRAM)ー>キャッシュメモリー>CPU(レジスタ?) 矢印一つごとに百倍ぐらいの速度差があるので、そりゃできるだけ右側にもってこようとしますわなw
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問