# Cheatsheets

## IgniteCacheOptions

Name | Type | Description
`@atomicityMode` | `String` | Sets cache atomicity mode.
`@backups` | `Number (int)` | Sets number of nodes used to back up single partition for PARTITIONED cache.
`@cacheMode` | `String` | Sets caching mode.
`@copyOnRead` | `Boolean` | Sets copy on read flag.
`@defaultLockTimeout` | `Number (long)` | Sets default lock timeout in milliseconds.
`@eagerTtl` | `Boolean` | Sets eager ttl flag.
`@encryptionEnabled` | `Boolean` | Sets encrypted flag.
`@eventsDisabled` | `Boolean` | Sets events disabled flag.
`@groupName` | `String` | Sets the cache group name. Caches with the same group name share single underlying 'physical' cache (partition set), but are logically isolated. Grouping caches reduces overall overhead, since internal data structures are shared.
`@invalidate` | `Boolean` | Sets invalidation flag for near cache entries in this transaction. Default is `false`.
`@maxConcurrentAsyncOperations` | `Number (int)` | Sets maximum number of concurrent asynchronous operations.
`@maxQueryInteratorsCount` | `Number (int)` | Sets maximum number of query iterators that can be stored.
`@name` | `String` | Sets cache name.
`@onheapCacheEnabled` | `Boolean` | Configures on-heap cache for the off-heap based page memory.
`@partitionLossPolicy` | `String` | Sets partition loss policy. This policy defines how Ignite will react to a situation when all nodes for some partition leave the cluster.
`@readFromBackup` | `Boolean` | Sets read from backup flag.
`@rebalanceDelay` | `Number (long)` | Sets rebalance delay.
`@rebalanceMode` | `String` | Sets cache rebalance mode.
`@rebalanceOrder` | `Number (int)` | Sets cache rebalance order.
`@writeSynchronizationMode` | `String` | Sets write synchronization mode.

## IgniteDiscoveryOptions

Name | Type | Description
`@properties` | `Json object` | Sets the properties used to configure the discovery implementation.
`@type` | `String` | Sets the discovery implementation type. Defaults to TcpDiscoveryMulticastIpFinder

## IgniteOptions

Name | Type | Description
`@connectTimeout` | `Number (long)` | Sets connect timeout used when establishing connection with remote nodes.
`@connectionsPerNode` | `Number (int)` | Sets number of connections to each remote node.
`@idleConnectionTimeout` | `Number (long)` | Sets maximum idle connection timeout upon which a connection to client will be closed.
`@includeEventTypes` | `Array of String` | Sets array of event types, which will be recorded by link. Note, that either the include event types or the exclude event types can be established.
`@localHost` | `String` | Sets system-wide local address or host for all Ignite components to bind to. If provided it will override all default local bind settings within Ignite or any of its SPIs.
`@localPort` | `Number (int)` | Sets local port for socket binding.
`@maxConnectTimeout` | `Number (long)` | Sets maximum connect timeout. If handshake is not established within connect timeout, then SPI tries to repeat handshake procedure with increased connect timeout. Connect timeout can grow till maximum timeout value, if maximum timeout value is reached then the handshake is considered as failed.
`@metricsLogFrequency` | `Number (long)` | Sets frequency of metrics log print out.
`@reconnectCount` | `Number (int)` | Sets maximum number of reconnect attempts used when establishing connection with remote nodes.
`@shutdownOnSegmentation` | `Boolean` | Sets that vertx will be shutdown when the cache goes into segmented state. Defaults to true

## IgniteSslOptions

Name | Type | Description
`@keyAlgorithm` | `String` | Sets key manager algorithm that will be used to create a key manager. Notice that in most cased default value suites well, however, on Android platform this value need to be set to `X509``.`
`@keyStoreFilePath` | `String` | Sets path to the key store file. This is a mandatory parameter since ssl context could not be initialized without key manager.
`@keyStorePassword` | `String` | Sets key store password.
`@keyStoreType` | `String` | Sets key store type used in context initialization.
`@protocol` | `String` | Sets protocol for secure transport.
`@trustAll` | `Boolean` | When using ssl, trust ALL certificates. WARNING Trusting ALL certificates will open you up to potential security issues such as MITM attacks.
`@trustStoreFilePath` | `String` | Sets path to the trust store file.
`@trustStorePassword` | `String` | Sets trust store password.
`@trustStoreType` | `String` | Sets trust store type used in context initialization.