最初実際の状態:フォームを持つZF2アプリケーションがあります。フォームにはいくつかのオートコンプリートフィールドが含まれています(フロントエンド側にjQuery Autocompleteで実装されています)。その背後にあるZF2アプリケーションでオートコンプリート用のサーバーサイドキャッシングを実現するにはどうすればよいですか?
SQL文は次のようになります。もちろん
SELECT name FROM countries WHERE countries.name LIKE %en%
-> should find "Arg[en]tina", "Arm[en]ia", "B[en]in", "Turkm[en]istan" etc.
or
SELECT name FROM countries WHERE countries.continent_id = 2
-> should find "Afghanistan", "Armenia", "Azerbaijan" etc. (2 = Asia)
or
SELECT name FROM countries WHERE countries.continent_id = 2 AND countries.name LIKE %en%
-> should find "Arm[en]ia", "Turkm[en]istan" etc. (2 = Asia)
を、それがデータベースが小さなオートコンプリートリクエストの多いことで恐怖されることを、問題につながります。キャッシングが助けになるでしょう - そして私はすでにZend\Cache\Storage\Adapter\Apcu
ベースのキャッシングメカニズムを実装し始めました。しかし、次のトラブルが発生しました。のような共通のキャッシュを使用すると、結果を動的にフィルタリングできません。だから、このようなキャッシュはオートコンプリートの場合には機能しないようです。
私はそれが一般的な問題であり、すでにこれに対する解決策があると確信しています。
オートコンプリート機能のZF2アプリケーションでキャッシュメカニズムを実現するにはどうすればよいですか?