Как установить и получить данные из кэша Redis? ⇐ C#
-
Anonymous
Как установить и получить данные из кэша Redis?
Я реализовал кэширование на стороне клиента с помощью Redis в приложении .Net Winforms. Я хочу сократить время получения данных с сервера Redis. Как я могу улучшить процесс аннулирования и хранения кэша, чтобы эффективно улучшить процесс GET с сервера Redis?
public void SaveDataTableInMemoryCache (строковый ключ, набор данных DataSet) { var redis = ConnectionMultiplexer.Connect("localhost"); IDatabase db = redis.GetDatabase(); строка jsonDataSet = JsonConvert.SerializeObject(набор данных); db.StringSet(ключ, jsonDataSet, TimeSpan.FromHours(10)); } общедоступный набор данных RetriveDataTableFromCache (строковый ключ) { var redis = ConnectionMultiplexer.Connect("localhost"); IDatabase db = redis.GetDatabase(); строка кэшированияJsonDataSet = db.StringGet(ключ); если (!string.IsNullOrEmpty(cachedJsonDataSet)) { return JsonConvert.DeserializeObject(cachedJsonDataSet); } вернуть ноль; } В настоящее время я сериализую набор данных в JSON и сохраняю в Redis, используя метод «ключ-значение». Получение данных из JSON, десериализация обратно в набор данных и привязка к сетке данных в приложении winforms.
Чтобы получить 100 000 записей. Сервер занимает 5-8 секунд. Я хочу, чтобы оно сократилось до менее секунды или до минимально возможного времени.
Какие улучшения можно внести в эту архитектуру получения и настройки?
Я реализовал кэширование на стороне клиента с помощью Redis в приложении .Net Winforms. Я хочу сократить время получения данных с сервера Redis. Как я могу улучшить процесс аннулирования и хранения кэша, чтобы эффективно улучшить процесс GET с сервера Redis?
public void SaveDataTableInMemoryCache (строковый ключ, набор данных DataSet) { var redis = ConnectionMultiplexer.Connect("localhost"); IDatabase db = redis.GetDatabase(); строка jsonDataSet = JsonConvert.SerializeObject(набор данных); db.StringSet(ключ, jsonDataSet, TimeSpan.FromHours(10)); } общедоступный набор данных RetriveDataTableFromCache (строковый ключ) { var redis = ConnectionMultiplexer.Connect("localhost"); IDatabase db = redis.GetDatabase(); строка кэшированияJsonDataSet = db.StringGet(ключ); если (!string.IsNullOrEmpty(cachedJsonDataSet)) { return JsonConvert.DeserializeObject(cachedJsonDataSet); } вернуть ноль; } В настоящее время я сериализую набор данных в JSON и сохраняю в Redis, используя метод «ключ-значение». Получение данных из JSON, десериализация обратно в набор данных и привязка к сетке данных в приложении winforms.
Чтобы получить 100 000 записей. Сервер занимает 5-8 секунд. Я хочу, чтобы оно сократилось до менее секунды или до минимально возможного времени.
Какие улучшения можно внести в эту архитектуру получения и настройки?
Мобильная версия