PersistenceLocation

PersistenceLocation["type"]

represents a persistence location of the given type.

PersistenceLocation["type",base]

includes the base address for a location type that allows multiple locations.

Details

  • Supported location types include:
  • "KernelSession"current invocation of the Wolfram Language kernel
    "FrontEndSession"current invocation of the Wolfram Notebook front end
    "Notebook"the notebook in which the current evaluation is being done
    "Local"local to a computer, based on user home directory
    "LocalShared"local to a computer, based on $BaseDirectory
    "Cloud"in the cloud defined by the current $CloudBase
    "Installation"installation defaults
  • PersistenceLocation["type","base"] can also be given as PersistenceLocation["type""base"].
  • In functions such as PersistentSymbol that use persistence locations, the forms "type" and "type"->"base" can be used and are equivalent to PersistenceLocation["type"] and PersistenceLocation["type","base"].
  • In PersistenceLocation["type"], the default base is determined by type as follows:
  • "Local"LocalObject["Persistence",$DefaultLocalBase]
    "LocalShared"LocalObject["Persistence",$BaseDirectory]
    "Cloud"CloudObject["/Persistence"]
  • DeleteObject[PersistenceLocation["type"]] deletes all objects stored in the given persistence location.

Examples

open allclose all

Basic Examples  (3)

The "Local" persistence location stores values as local objects under $LocalBase:

The "FrontEndSession" persistence location stores values in the running Wolfram Notebook front end:

The "Cloud" persistence location stores values as cloud objects:

Scope  (7)

The "KernelSession" persistence location maintains values in the kernel:

The "FrontEndSession" persistence location stores values in the running Wolfram Notebook front end:

The "Local" persistence location stores values as local objects under $LocalBase:

The "LocalShared" persistence location stores values as local objects under $BaseDirectory:

The "Installation" persistence location provides default values:

The "Cloud" persistence location stores values as cloud objects:

The "Notebook" persistence location stores values inside a kernel's evaluation notebook:

Generalizations & Extensions  (4)

Specify an alternate "KernelSession" location by giving a symbol name as the second argument:

Specify an alternate local location by giving the base directory as the second argument:

The alternate base can be given with a local object:

Specify an alternate cloud location by specifying a cloud directory as the second argument:

Site administrators with write permission in $BaseDirectory can add values to the "LocalShared" location:

Add a value to the writable variant of the shared local location:

All users can now see this value:

Properties & Relations  (4)

Persistent symbols stored at "KernelSession" are lost when the kernel is restarted:

Persistent symbols stored at "FrontEndSession" survive a kernel restart, as long as the front end is running:

The current default location for storing persistent symbols is a persistence location:

The current search path for obtaining persistent symbols is a list of persistence locations:

Find all objects stored in a persistence location:

Delete them:

Alternatively, use DeleteObject on the persistence location:

Possible Issues  (3)

The default $PersistencePath does not include the cloud location:

Adding the cloud location to the search path may introduce network delays for persistent object access:

The "LocalShared" persistence location is normally read-only:

The "Installation" persistence location allows adding new values but not removing any values:

Wolfram Research (2017), PersistenceLocation, Wolfram Language function, https://reference.wolfram.com/language/ref/PersistenceLocation.html (updated 2019).

Text

Wolfram Research (2017), PersistenceLocation, Wolfram Language function, https://reference.wolfram.com/language/ref/PersistenceLocation.html (updated 2019).

CMS

Wolfram Language. 2017. "PersistenceLocation." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2019. https://reference.wolfram.com/language/ref/PersistenceLocation.html.

APA

Wolfram Language. (2017). PersistenceLocation. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/PersistenceLocation.html

BibTeX

@misc{reference.wolfram_2023_persistencelocation, author="Wolfram Research", title="{PersistenceLocation}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/PersistenceLocation.html}", note=[Accessed: 28-March-2024 ]}

BibLaTeX

@online{reference.wolfram_2023_persistencelocation, organization={Wolfram Research}, title={PersistenceLocation}, year={2019}, url={https://reference.wolfram.com/language/ref/PersistenceLocation.html}, note=[Accessed: 28-March-2024 ]}