Я использую StackExchange.Redis для доступа к экземпляру Redis.
У меня есть следующий рабочий код С#:
public static void Demo()
{
ConnectionMultiplexer connection = ConnectionMultiplexer.Connect("xxx.redis.cache.windows.net,ssl=true,password=xxx");
IDatabase cache = connection.GetDatabase();
cache.StringSet("key1", "value");
}
Вот то, что я надеюсь, будет эквивалентным кодом F #:
let Demo() =
let cx = ConnectionMultiplexer.Connect @"xxx.redis.cache.windows.net,ssl=true,password=xxx"
let cache = cx.GetDatabase()
cache.StringSet("key1", "value") |> ignore
Однако это не скомпилируется - "Нет перегрузки для метода StringSet". Метод StringSet ожидает аргументы типа RedisKey и RedisValue, и, похоже, в С# существует некоторая маска компилятора для преобразования строк в вызывающем коде в RedisKey и RedisValue. Магия, похоже, не существует в F #. Есть ли способ достичь того же результата?