タグ

2017年1月18日のブックマーク (7件)

  • なぜGo言語 (golang) はよい言語なのか・Goでプログラムを書くべき理由 | yunabe.jp

    結論としてはGo言語には以下のようないくつかの長所があり、現実路線で非常にバランスがとれた言語だと思います。 これらの長所のために失われたメリットも当然いくつもありますが、一定程度以上の規模のプロジェクトで利用する言語の選択肢としては現存するプログラミング言語の中では一番か二番目によいのではないかと思います。 コンパイルが速い (vs. C++) GCとメモリ安全性 (vs. C++) 妥当で現実的なレベルの型安全性 (vs. Python/Ruby) 実行時パフォーマンスが良さ (vs. Python/Ruby) 現実問題、ある程度の規模と期間のプロジェクトになると型検証があるとリファクタリングなどがだいぶ楽になるのでありがたい。 型があるので自然と実行時パフォーマンスも良い 標準ライブラリが整備されている (vs. C++) むしろ標準ライブラリにjsonのparserすら存在しないC

    pamucat
    pamucat 2017/01/18
  • 【サーバー】 memchachedについて調べました。 - Web + Life Hack

    memcashedとは ・memcachedとはソフトウェア ・memcachedとはmixiやはてな,Facebook,Vox,LiveJournalで使われている。 ・memcachedとは非常に高速に動作する分散キャッシュサーバ。 memcashedの特徴 ・memcachedとはシンプルなプロトコル シンプルな行ベースのプロトコル ・memcachedとはlibeventによるイベントハンドリング ・memcachedとは内蔵のオンメモリストレージ 保存したデータは、memcached内蔵のメモリストレージに貯められる。 メモリが指定された容量に達すると,LRUに基づいて利用されないキャッシュから自動的に削除。 ・memcachedとはmemcached同士での通信は行わない分散方式 全てクライアント側のライブラリ内の分散アルゴリズムが振り分ける。 memcashedのインストール

    【サーバー】 memchachedについて調べました。 - Web + Life Hack
  • ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか

    This document provides an overview and agenda for an AWS webinar on AWS Glue. It introduces AWS Glue as a fully managed and serverless ETL service that can manage metadata for various data sources. The webinar will cover the background of AWS Glue, its key features including being serverless and enabling secure development in notebooks, use cases, pricing, and a conclusion. It also provides detail

    ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
  • Redisのメモリ管理ポリシーについて

    オンメモリ KVS の Redis では、使用メモリに上限を設定し、閾値を超えた場合のポリシー(maxmemory-policy)を複数の中から設定できるようになっている。 パラメータとポリシーを整理したのが以下 使用メモリの上限値 redis.conf の次のパラメータで設定する。 maxmemory maxmemory-policy メモリ使用量が閾値を超えている状況でキー追加する場合の振る舞いを定義する。以下の 6 つの maxmemory-policy から選択できる。 volatile-lru : remove the key with an expire set using an LRU algorithm allkeys-lru : remove any key accordingly to the LRU algorithm volatile-random : remove

    Redisのメモリ管理ポリシーについて
  • 第3回 memcachedの消去メカニズムと今後の動向 | gihyo.jp

    memcachedはキャッシュなので、特定のデータが常にサーバに存在しないことが前提でシステムに導入されます。今回はmemcachedのデータ削除メカニズム、そしてmemcachedの最新動向であるバイナリプロトコルと外部エンジンサポートをご紹介いたします。 memcachedはデータ削除もリソースを有効活用する memcachedから実際にデータは消えない 前回の記事で紹介させていただきましたが、memcachedは確保したメモリを解放しません。レコードはtimeoutが過ぎたらクライエントから見えなくなる(invisible・透明になる)だけで、その領域は再利用される仕組みです。 Lazy Expiration memcachedは内部的にレコードがexpireしたかの監視を行いません。替わりにgetする際にレコードのtimestampを見ることで、そのレコードがexpireしたかをチ

    第3回 memcachedの消去メカニズムと今後の動向 | gihyo.jp
  • Memcachedの仕組みと設定

    6. データの追加 データサイズの決定 • データを格納する際ははじめに格納データのサイズを決定する • データサイズは key + value + flags によって算出される • 更にキー管理のための付加情報(固定サイズ)と思しき領域がある • flags は固定サイズのようで、実際 key と value に使用出来る容量は小さい データ領域 付加情報? key value flags データ 7. データの追加 Slab Classを決定する • memcached を起動した際に複数の Slab Class が定義され、格納されるデータ サイズに応じて Slab Class が選択される 小さい これも小さい これに収まる、 決定! 150 byte Slab Class 6 5 1 4 2 3 1 データ 152 byte 240 ChunkSize: 304byte Chu

    Memcachedの仕組みと設定
  • 第2回 memcachedのメモリストレージを理解する | gihyo.jp

    株式会社ミクシィ 研究開発グループの前坂です。前回の記事でmemcachedは分散に長けた高速なキャッシュサーバであることが紹介されました。今回はmemcachedの内部構造がどう実装されているのか、そしてメモリがどう管理されているのかをご紹介します。また、memcachedの内部構造の事情による弱点も紹介します。 メモリを整理して再利用するSlab Allocationメカニズム 昨今のmemcachedはデフォルトでSlab Allocatorというメカニズムを使ってメモリの確保・管理を行っています。このメカニズムが登場する以前のメモリ確保の戦略は、単純にすべてのレコードに対してmallocとfreeを行うといったものでした。しがしながら、このアプローチではメモリにフラグメンテーション(断片化)を発生させてしまい、OSのメモリマネージャに負荷をかけ、最悪の場合だとmemcachedのプ

    第2回 memcachedのメモリストレージを理解する | gihyo.jp