As this official document states about maxmemory-reserved:
The maxmemory-reserved setting configures the amount of memory in MB that is reserved for non-cache operations such as replication during failover. It can also be used when you have a high fragmentation ratio. Setting this value allows you to have a more consistent Redis server experience when your load varies. This value should be set higher for workloads which are write heavy. When memory is reserved for such operations it is unavailable for storage of cached data.
Note: The maxmemory-reserved setting is only available for Standard and Premium caches.
In order to set the appropriate eviction policy for Maxmemory policy, you need to consider the access pattern of your application. As this document mentioned about Maxmemory policy:
Use the allkeys-lru policy when you expect a power-law distribution in the popularity of your requests, that is, you expect that a subset of elements will be accessed far more often than the rest. This is a good pick if you are unsure.
Use the volatile-ttl if you want to be able to provide hints to Redis about what are good candidate for expiration by using different TTL values when you create your cache objects.
For more details, you could refer to this document. Additionally, you could follow this tutorial for troubleshooting Azure Redis Cache and this tutorial for monitoring Redis Cache in Azure Portal.