# RedisStorageOptions Properties

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.persistence.redis/orleans.persistence.redisstorageoptions/)

## ConfigurationOptions {#configurationoptions-e262e8af}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.persistence.redis/orleans.persistence.redisstorageoptions/properties/configurationoptions-e262e8af/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Redis/Orleans.Persistence.Redis/Providers/RedisStorageOptions.cs)

```csharp
public ConfigurationOptions? ConfigurationOptions
```

Gets or sets the Redis client configuration.

## CreateMultiplexer {#createmultiplexer-4e46289b}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.persistence.redis/orleans.persistence.redisstorageoptions/properties/createmultiplexer-4e46289b/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Redis/Orleans.Persistence.Redis/Providers/RedisStorageOptions.cs)

```csharp
public Func<RedisStorageOptions, Task<(IConnectionMultiplexer Multiplexer, bool IsShared)>> RedisStorageOptions.CreateMultiplexer
```

The delegate used to create a Redis connection multiplexer and indicate whether it is shared.

## DeleteStateOnClear {#deletestateonclear-eca5909a}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.persistence.redis/orleans.persistence.redisstorageoptions/properties/deletestateonclear-eca5909a/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Redis/Orleans.Persistence.Redis/Providers/RedisStorageOptions.cs)

```csharp
public bool DeleteStateOnClear
```

Whether or not to delete state during a clear operation.

## EntryExpiry {#entryexpiry-12c616cd}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.persistence.redis/orleans.persistence.redisstorageoptions/properties/entryexpiry-12c616cd/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Redis/Orleans.Persistence.Redis/Providers/RedisStorageOptions.cs)

```csharp
public TimeSpan? EntryExpiry
```

Entry expiry, null by default. A value should be set only for ephemeral environments, such as testing environments. Setting a value different from `null` will cause duplicate activations in the cluster.

## GetStorageKey {#getstoragekey-6c653ffa}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.persistence.redis/orleans.persistence.redisstorageoptions/properties/getstoragekey-6c653ffa/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Redis/Orleans.Persistence.Redis/Providers/RedisStorageOptions.cs)

```csharp
public Func<string, GrainId, RedisKey>? GetStorageKey
```

Gets the Redis key for the provided grain type and grain identifier. If not set, the default implementation will be used, which is equivalent to `{ServiceId}/state/{grainId}/{grainType}`.

## GrainStorageSerializer {#grainstorageserializer-8dfdcba1}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.persistence.redis/orleans.persistence.redisstorageoptions/properties/grainstorageserializer-8dfdcba1/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Redis/Orleans.Persistence.Redis/Providers/RedisStorageOptions.cs)

```csharp
public IGrainStorageSerializer GrainStorageSerializer
```

Gets or sets the serializer to use for this storage provider.

## InitStage {#initstage-cd15d3fd}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.persistence.redis/orleans.persistence.redisstorageoptions/properties/initstage-cd15d3fd/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Redis/Orleans.Persistence.Redis/Providers/RedisStorageOptions.cs)

```csharp
public int InitStage
```

Stage of silo lifecycle where storage should be initialized. Storage must be initialized prior to use.
