CacheManager Redis Backplane не сбрасывает клиентов - PullRequest
0 голосов
/ 07 марта 2019

Я недавно переместил свой код с простого использования распределенного кэша на использование CacheManager для двухуровневого кэширования для увеличения скорости работы моих приложений.

Я использую InMemory и Redis в качестве объединительной платы.

Все работает хорошо, поскольку InMemory и хранение информации обратно в Redis касаются, но я борюсь с аннулированием кэша и просмотром новой информации.

У меня есть консольное приложение, которое запускается на сервере и выполняет обновления данных, а затем использует метод AddOrUpdate в CacheManager для отправки новых данных в кэш.

Проблема в том, что мой интерфейсный интерфейс видит устаревшие данные и не обновляется.

Я знаю, что консольное приложение ранее работало, так как оно все работало над распределенным кэшированием и часто обновлялось.

Я вошел в Redis и проверил, есть ли подписчики на канал PUBSUB, а их нет; должно быть?

И мое консольное приложение, и API используют одну и ту же версию библиотеки, а также используют одну и ту же конфигурацию кэша. Конфигурация ниже.

{
  "$schema": "http://cachemanager.michaco.net/schemas/cachemanager.json#",
  "redis": [
    {
      "key": "redisConnection",
      "connectionString": "x.x.x.x, allowAdmin=true"
    }
  ],
  "cacheManagers": [
    {
      "maxRetries": 1000,
      "name": "masterCache",
      "retryTimeout": 100,
      "updateMode": "Up",
      "backplane": {
        "key": "redisConnection",
        "knownType": "Redis",
        "channelName": "redisChannel"
      },
      "loggerFactory": {
        "knownType": "Microsoft"
      },
      "serializer": {
        "knownType": "Json"
      },
      "handles": [
        {
          "knownType": "SystemRuntime",
          "isBackplaneSource": false,
          "name": "systemCache"
        },
        {
          "knownType": "Redis",
          "key": "redisConnection",
          "isBackplaneSource": true
        }
      ]
    }
  ] 
}

Также результаты проверки количества подписчиков в Redis

127.0.0.1:6379> pubsub channels *
1) "redisChannel"
2) "__Booksleeve_MasterChanged"
127.0.0.1:6379> pubsub numsub 1
1) "1"
2) (integer) 0
...