CacheManager Redis背板不刷新客户端

时间:2019-03-07 08:53:11

标签: c# .net redis stackexchange.redis cachemanager

我最近将代码从仅使用分布式缓存迁移到使用CacheManager进行2层缓存,以提高应用程序的速度。

我正在使用InMemory和Redis作为背板。

就InMemory而言,一切正常,并将信息存储回Redis,但我正在努力使缓存无效并看到新信息。

我有一个运行在服务器上的控制台应用程序,它执行数据更新,然后使用CacheManager中的AddOrUpdate方法将新数据推送到缓存中。

问题是我的前端API看到过时的数据并且没有更新。

我知道控制台应用程序以前可以正常工作,因为它全部都在分布式缓存中工作,并且会经常更新。

我已经登录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

0 个答案:

没有答案