此内容没有您所选择的语言版本。
9.2. Use the Default Cache
9.2.1. Add and Remove Data from the Cache 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Red Hat JBoss Data Grid offers an interface that is similar to the proposed JSR-107 API to access and alter data stored in a cache.
The following procedure is an example that defines what each line entered into the DefaultCacheQuickstart.java file does:
Procedure 9.2. Add and Remove Data from the Cache
- Add an entry, replacing key and value with the desired key and value:
cache.put("key", "value");
cache.put("key", "value");
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Confirm that the entry is present in the cache:
assertEquals(1, cache.size()); assertTrue(cache.containsKey("key"));
assertEquals(1, cache.size()); assertTrue(cache.containsKey("key"));
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Remove the entry from the cache:
Object v = cache.remove("key");
Object v = cache.remove("key");
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Confirm that the entry is no longer present in the cache:
assertEquals("value", v); assertTrue(cache.isEmpty());
assertEquals("value", v); assertTrue(cache.isEmpty());
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.2.2. Adding and Replacing a Key Value 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Red Hat JBoss Data Grid offers a thread-safe data structure.
The following procedure is an example that defines what each line entered into the
DefaultCacheQuickstart.java
file does:
Procedure 9.3. Adding and Replacing a Key Value
- Add an entry
key
withvalue
as the key's value.cache.put("key", "value");
cache.put("key", "value");
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Procedure 9.4. Replacing a Key Value
- The following code searches for keys (named
key
andkey2
). If the two specific keys beings searched for are not found, JBoss Data Grid creates two new keys with the specified key names and values.cache.putIfAbsent("key", "newValue"); cache.putIfAbsent("key2", "value2");
cache.putIfAbsent("key", "newValue"); cache.putIfAbsent("key2", "value2");
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - The following code confirms that the value of the stored key equals the value we wanted to store.
assertEquals(cache.get("key"), "value"); assertEquals(cache.get("key2"), "value2");
assertEquals(cache.get("key"), "value"); assertEquals(cache.get("key2"), "value2");
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
See Also:
9.2.3. Adjust Data Life 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Red Hat JBoss Data Grid entries are immortal by default, but these settings can be altered.
The following procedure is an example that defines what each line entered into the
DefaultCacheQuickstart.java
file does:
Procedure 9.5. Adjust the Data Life
- Alter the key's
lifespan
value:cache.put("key", "value", 5, TimeUnit.SECONDS);
cache.put("key", "value", 5, TimeUnit.SECONDS);
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Check if the cache contains the key:
assertTrue(cache.containsKey("key"));
assertTrue(cache.containsKey("key"));
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - After the allocated
lifespan
time has expired, the key is no longer in the cache:Thread.sleep(10000); assertFalse(cache.containsKey("key"));
Thread.sleep(10000); assertFalse(cache.containsKey("key"));
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.2.4. Default Data Mortality 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
As a default, newly created entries do not have a life span or maximum idle time value set. Without these two values, a data entry will never expire and is therefore known as immortal data.
9.2.5. Register the Named Cache Using XML 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
To configure the named cache declaratively (using XML) rather than programmatically, configure the
infinispan.xml
file.
The
infinispan.xml
file is located in https://github.com/infinispan/infinispan-quickstart in the infinispan-quickstart/embedded-cache/src/main/resources
folder.