memcache.locking
memcache.locking は Nextcloud のロックバックエンド設定項目で、ファイル同期時の排他制御をどのコンポーネントで実装するかを指定します。デフォルトは DB (MariaDB)、本番は Redis 推奨です。
詳細解説
Nextcloud は同期時に oc_file_locks テーブル (DB ロック) または Redis を使ってファイル単位の排他制御を行います。デフォルトは DB のため依存コンポーネントが少なく構築は楽ですが、複数クライアントが同時同期すると DB が詰まりやすいです。redis.config.php に REDIS_HOST 環境変数を渡すと自動的に memcache.locking が Redis に切り替わり、負荷時の詰まりを回避できます。Nextcloud 公式ドキュメントも本番運用では Redis を推奨しています。
実装例 / 使い方
- 01config.php で memcache.locking => '\\OC\\Memcache\\Redis' に設定
- 02REDIS_HOST 環境変数を渡せば redis.config.php が自動有効化
- 03切替後 oc_file_locks テーブルは TRUNCATE で空に
参考・出典
関連する用語
Nextcloud
Nextcloud (ネクストクラウド) は、Dropbox や Google Drive のようなファイル同期 + 共有機能を、自社サーバーで運用できる OS...
Redis
REmote DIctionary ServerRedis (レディス) は、メモリ上で動作する高速 Key-Value 型データストアです。キャッシュ・セッション管理・分散ロック・PubSub などの用途で...
oc_file_locks
oc_file_locks は Nextcloud がデフォルトで使用する DB ベースのロック管理テーブルです。同期時のファイル単位排他制御を保存し、肥大化す...
APCu
Alternative PHP Cache UserAPCu (Alternative PHP Cache User) は PHP プロセス内のメモリにキーバリューを保存する in-process キャッシュ拡張...
memcache.lockingを、実際に活用する
用語の意味は分かった。次は実装。EXBANK の無料診断で、貴社で具体的にどう活用できるかをご提案します。
営業時間 平日10-18時 / 通常24時間以内に返信
