2016-10-17 3 views
1

Когда я сохранить строку в Redis с помощью ServiceStack.Redis:Redis возвращаемого значения для строкового объекта

client.Add("key1","abc"); 

Хотя выборок значения, она возвращает:

client.GetValue("key1"); 

возвращает

"\" abc \ ""

Как получить полную строку?

Благодаря

+0

Вы уверены, что 'client.Add' является правильным методом для использования? Я не могу найти его в документации. Похоже, что 'client.SetValue' - это то, что вы будете использовать. – Hazerd

+0

Да, есть метод, доступный под названием Add. Он принимает значение как объект, что полезно для создания общего метода для передачи любого значения. – Satyajit

+0

Я просто опробовал живую версию. Похоже, что 'client.Add' добавляет эти кавычки,' client.SetValue' не добавляет их. Посмотрите, работает ли это для вас. – Hazerd

ответ

1

Похоже, что метод client.Add() преобразует значение в строку (даже струнные) и заворачивает их в кавычки. Метод client.SetValue() принимает только строки и не переносит их в кавычки.

Одним из вариантов было бы преобразование значения в строку самостоятельно. Либо через общий метод ToString(), либо другой метод для получения нужной строки из объекта.

Если Add() способ необходим однако. Вы можете выбрать, будет ли строка обернута в кавычки, когда вы получите ее через GetValue(), и если да, удалите их.

0

Redis преобразует строку в JSON при сохранении, поэтому он заключен в кавычки.

Таким образом, вы должны рассматривать эту строку как объект JSON и анализировать ее вручную или с помощью десериализации.