Newer Version Available
Org Class
Namespace
Usage
Cache Key Format
This table lists the format of the key parameter that some methods in this class take, such as put, get, and contains.
| Key Format | Description |
|---|---|
| namespace.partition.key | Fully qualified key name. |
| key | Refers to a partition marked as default when the namespace.partition prefix is omitted. |
| local.partition.key | Use the local prefix to refer to the org’s namespace when the org doesn’t have a namespace defined. If the org has a namespace defined, the local prefix also refers to that org’s namespace. |
Example
This class is the controller for a sample Visualforce page (shown in the subsequent code sample). The cached values are initially added to the cache by the init() method, which the Visualforce page invokes when it loads through the action attribute. The cache keys don’t contain the namespace.partition prefix. They all refer to the default partition in your org. To run this sample, create a partition and mark it as default.
The Visualforce page contains four output components. These components call get methods on the controller that returns the following values from the cache: a date, data based on the MyData inner class, a counter, a text value, and a list. The size of the list is also returned.
The Visualforce page also contains two buttons. The Rerender button invokes the go() method on the controller. This method increases the values of the counter and the custom data in the cache. When you click Rerender, the two counters increase by one each time. The go() method retrieves the values of these counters from the cache, increments their values by one, and stores them again in the cache.
The Remove datetime Key button deletes the date-time value (with key datetime) from the cache. As a result, the value next to Cached datetime: is cleared on the page.
This is the Visualforce page that corresponds to the OrgCacheController class.
This is the output of the page after clicking the Rerender button twice. The counter value could differ in your case if a key named counter was already in the cache before running this sample.
Org Methods
The following are methods for Org. All methods are static.
contains(setOfKeys)
Signature
public static Map <String, Boolean> contains (Set<String> keys)
Parameters
Return Value
Type: Map <String, Boolean>
Returns the cache key and corresponding Boolean value indicating that the key entry exists. The Boolean value is false if the key entry doesn't exist.
Usage
The number of input keys cannot exceed the maximum limit of 10.
Example
In this example, the code checks for the presence of multiple keys on the default partition. It fetches the cache key and the corresponding Boolean value for the key entry from the org cache of the default partition.
In this example, the code checks for the presence of multiple keys on different partitions. It fetches the cache key and the corresponding Boolean value for the key entry from the org cache of different partitions.
get(key)
Signature
public static Object get(String key)
Parameters
Return Value
Type: Object
The cached value as a generic object type. Cast the returned value to the appropriate type.
Usage
Because Cache.Org.get() returns an object, cast the returned value to a specific type to facilitate use of the returned value.
If a Cache.Org.get() call doesn’t find the referenced key, it returns null.
get(cacheBuilder, key)
Signature
public static Object get(System.Type cacheBuilder, String key)
Parameters
- cacheBuilder
- Type: System.Type
- The Apex class that implements the CacheBuilder interface.
- key
- Type: String
- A case-sensitive string value that, combined with the class name corresponding to the cacheBuilder parameter, uniquely identifies a cached value.
Return Value
Type: Object
The cached value as a generic object type. Cast the returned value to the appropriate type.
Usage
Because Cache.Org.get(cacheBuilder, key) returns an object, cast the returned value to a specific type to facilitate use of the returned value.
get(keys)
Signature
public static Map <String, Object> get (Set <String> keys)
Parameters
Return Value
Type: Map <String, Object>
Returns the cache key and corresponding value. Returns null when no corresponding value is found for an input key.
Usage
The number of input keys cannot exceed the maximum limit of 10.
Examples
Fetch multiple keys from the org cache of the default partition.
Fetch multiple keys from the org cache of different partitions.
getAvgGetSize()
Signature
public static Long getAvgGetSize()
Return Value
Type: Long
Example
In this example the following keys and their corresponding value sizes are inserted. The code then fetches the keys: key 1, key 2, key 3 and key 4 and returns the average item size of the fetched keys.
| Key | Key Value Size |
|---|---|
| key 1 | 42 |
| key 2 | 42 |
| key 3 | 58 |
| key 4 | 36 |
| key 5 | 36 |
getAvgValueSize()
Signature
public static Long getAvgValueSize()
Return Value
Type: Long
getMaxGetSize()
Signature
public static Long getMaxGetSize()
Return Value
Type: Long
Example
In this example the following keys and their corresponding value sizes are inserted. The code fetches the keys: key 1, key 2 and key 4 and returns the maximum key value size from the fetched keys.
| Key | Key Value Size |
|---|---|
| key 1 | 42 |
| key 2 | 42 |
| key 3 | 58 |
| key 4 | 36 |
| key 5 | 36 |
getMaxValueSize()
Signature
public static Long getMaxValueSize()
Return Value
Type: Long
getPartition(partitionName)
Signature
public static cache.OrgPartition getPartition(String partitionName)
Parameters
- partitionName
- Type: String
- A partition name that is qualified by the namespace, for example, namespace.partition.
Return Value
Type: Cache.OrgPartition
Example
After you get the org partition, you can add and retrieve the partition’s cache values.
put(key, value)
Signature
public static void put(String key, Object value)
Parameters
Return Value
Type: void
put(key, value, visibility)
Signature
public static void put(String key, Object value, Cache.Visibility visibility)
Parameters
- key
- Type: String
- A case-sensitive string value that uniquely identifies a cached value. For information about the format of the key name, see Usage.
- value
- Type: Object
- The value to store in the cache. The cached value must be serializable.
- visibility
- Type: Cache.Visibility
- Indicates whether the cached value is available only to Apex code that is executing in the same namespace or to Apex code executing from any namespace.
Return Value
Type: void
put(key, value, ttlSecs)
Signature
public static void put(String key, Object value, Integer ttlSecs)
Parameters
- key
- Type: String
- A case-sensitive string value that uniquely identifies a cached value. For information about the format of the key name, see Usage.
- value
- Type: Object
- The value to store in the cache. The cached value must be serializable.
- ttlSecs
- Type: Integer
- The amount of time, in seconds, to keep the cached value in the org cache. The maximum is 172,800 seconds (48 hours). The minimum value is 300 seconds or 5 minutes. The default value is 86,400 seconds (24 hours).
Return Value
Type: void
put(key, value, ttlSecs, visibility, immutable)
Signature
public static void put(String key, Object value, Integer ttlSecs, cache.Visibility visibility, Boolean immutable)
Parameters
- key
- Type: String
- A case-sensitive string value that uniquely identifies a cached value. For information about the format of the key name, see Usage.
- value
- Type: Object
- The value to store in the cache. The cached value must be serializable.
- ttlSecs
- Type: Integer
- The amount of time, in seconds, to keep the cached value in the org cache. The maximum is 172,800 seconds (48 hours). The minimum value is 300 seconds or 5 minutes. The default value is 86,400 seconds (24 hours).
- visibility
- Type: Cache.Visibility
- Indicates whether the cached value is available only to Apex code that is executing in the same namespace or to Apex code executing from any namespace.
- immutable
- Type: Boolean
- Indicates whether the cached value can be overwritten by another namespace (false) or not (true).
Return Value
Type: void
remove(key)
Signature
public static Boolean remove(String key)
Parameters
remove(cacheBuilder, key)
Signature
public static Boolean remove(System.Type cacheBuilder, String key)
Parameters
- cacheBuilder
- Type: System.Type
- The Apex class that implements the CacheBuilder interface.
- key
- Type: String
- A case-sensitive string value that, combined with the class name corresponding to the cacheBuilder parameter, uniquely identifies a cached value.