खेलने प्रलेखन से
: http://www.playframework.org/documentation/1.1.1/cache
Play has a cache library and will use Memcached when used in a distributed environment.
If you don’t configure Memcached, Play will use a standalone cache that stores data in the JVM heap. Caching data in the JVM application breaks the “share nothing” assumption made by Play: you can’t run your application on several servers, and expect the application to behave consistently. Each application instance will have a different copy of the data.
आप दस्तावेज़ http://www.playframework.org/documentation/1.1.1/controllers#session से (कैश में किसी भी वस्तु डाल सकते हैं इस उदाहरण में निम्न उदाहरण में, आप session.getId() का उपयोग करने के लिए संदेशों को बचाने के लिए प्रत्येक उपयोगकर्ता)
public static void index() {
List messages = Cache.get(session.getId() + "-messages", List.class);
if(messages == null) {
// Cache miss
messages = Message.findByUser(session.get("user"));
Cache.set(session.getId() + "-messages", messages, "30mn");
}
render(messages);
}
क्योंकि यह एक कैश, और नहीं एक सत्र है, तो आप को ध्यान में रखना है कि डेटा अब उपलब्ध नहीं हो सकता है, और (संदेश मॉडल कुछ somehere से एक बार फिर से इसे पुनः प्राप्त करने का मतलब यह होता है , इस मामले में)
वैसे भी, यदि आपके पास पर्याप्त मेमोरी है और इसमें उपयोगकर्ता के साथ एक छोटी सी बातचीत शामिल है, तो डेटा वहां होना चाहिए, और यदि ऐसा नहीं है तो आप उपयोगकर्ता को विज़ार्ड की शुरुआत में रीडायरेक्ट कर सकते हैं (आप किसी प्रकार के बारे में बात कर रहे हैं विज़ार्ड पेज, है ना?)
ध्यान रखें कि इसके स्टेटलेस शेयर-कुछ भी दृष्टिकोण के साथ, वास्तव में कोई सैसीओन नहीं है, इसके नीचे इसे केवल कुकीज़ के माध्यम से संभालता है, यही कारण है कि यह केवल सीमित आकार
के तारों को स्वीकार कर सकता है
आपका प्रश्न वास्तव में स्पष्ट नहीं है। यदि आप उल्लेख करते हैं कि आप क्या करने की कोशिश कर रहे हैं तो इससे मदद मिलेगी। –
सोरी, मेरी अंग्रेजी बहुत खराब है। अब मैं संपादित करता हूं ... – barroco