小编Hel*_*lmi的帖子

清漆:Purge 说它有效,但不会删除旧内容

我正在 Digital Ocean Ubuntu VM 上运行一个独立的 varnish 实例,它基本上工作正常。该设置用于加载位于其他任何地方的旧 wordpress 服务器。这很有效,但我很难清除内容。在谈论清除时,我的意思是使 URL 的缓存无效以强制清漆从后端获取新版本(只是为了确保我看到了对清除/禁止的一些刺激)。

我已经设置了一个用于清除的 ACL,就我在 varnishlog 中看到的而言,清除被接受 - 一方面来自 WordPress 博客(W3TC 处理清除的地方)以及来自我尝试使用 curl 清除的本地控制台的 es - X PURGE http://url.to.purge

问题是,无论我在本地做什么,我仍然会在浏览器中获得旧版本的 URL。

这就是我在 vcl_recv 中处理清除的方式:

  if (req.method == "PURGE") {
    if (!client.ip ~ purge) {
      return(synth(405,"Not allowed."));
    }
    return (purge);
  }
Run Code Online (Sandbox Code Playgroud)

我在每次清除时都会收到 VCL_error(200, Purged) 所以我想这可能没问题。

看来我还是做错了。在重新启动服务清漆后,完整的缓存会刷新,页面也会刷新 - 在此之前清漆会保留所有内容 - 无论我清除多少。

我的清漆版本是 4.0.3。

任何的想法?

谢谢,

坦率

varnish varnish-vcl

5
推荐指数
1
解决办法
1403
查看次数

将 HH:MM:SS.micro 字符串转换为微秒?

我相信一定有更好的方法将00:04:11.723像这样的字符串转换为微秒:

ms = timestring.split('.')
pt = ms[0].split(':')
sec = int(pt[0]) * 3600 + int(pt[1]) * 60 + int(pt[2])
st = sec * 1000 + int(ms[1])
Run Code Online (Sandbox Code Playgroud)

但我还没找到。

python time datetime timedelta

5
推荐指数
2
解决办法
849
查看次数

从表中选择在不同表中至少有一个条目的用户

我正在寻找一种从用户表中选择用户的方法,该用户表在另一个表中至少有一个相关条目。也许我的加入方法是完全错误的,但这就是我正在尝试的,应该让您了解结构:

SELECT users.`id`, users.`email`, users.`username`, users.`status`, users.`date_reg`
FROM dir_editors as users
JOIN dir_links as links ON (links.`id_editor` = users.`id`)
WHERE COUNT(links.`id_editor`) > 1
Run Code Online (Sandbox Code Playgroud)

因此,目标是从表中至少有一个链接条目的用户获取所有这些用户数据,dir_links其中id_editordir_links 表中的字段。

感谢您的帮助

mysql sql

3
推荐指数
1
解决办法
1425
查看次数

Django Rest Framework 列表和详细视图重叠

我的 API 将列出一系列播客剧集。列表本身应该被剥离,并且没有很多数据小到足以一次拉出整个列表。这是我的 DRF 序列化器类

class EpisodeSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Episode
        fields = ('url', 'id', 'title', 'subtitle', 'show_id', 'published_at', 'updated_at')
Run Code Online (Sandbox Code Playgroud)

使用此视图可以正常工作

class EpisodeViewSet(viewsets.ModelViewSet):
    queryset = Episode.objects.all().order_by('-published_at')
    serializer_class = EpisodeSerializer
Run Code Online (Sandbox Code Playgroud)

`HyperlinkedModelSerializer' 还将剧集链接到他们自己的详细视图,但显然默认使用相同的视图。现在我想要的是在细节视图上更详细,所以我所做的是:

router.register(r'episodes', views.EpisodeViewSet)
router.register(r'episode', views.EpisodeDetailViewSet)
Run Code Online (Sandbox Code Playgroud)

添加了这条路线并创建了一个新视图

class EpisodeDetailViewSet(viewsets.ModelViewSet):
    queryset = Episode.objects.all().order_by('-published_at')
    serializer_class = EpisodeDetailSerializer
Run Code Online (Sandbox Code Playgroud)

以及使用附加模型的序列化程序以获取更多详细信息

class EpisodeDetailSerializer(serializers.ModelSerializer):
    chapters = ChapterMarkSerializer(source='chaptermark_set', many=True)
    media = MediaClipSerializer(source='mediaclip_set', many=True)
    show = ShowSerializer()

    class Meta:
        model = Episode
        fields = ('url', 'id', 'title', 'subtitle', 'show', 'published_at', 'updated_at','description', 'show_notes', 'cover_image', 'updated_at', 'chapters', 'media')
        depth = …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

2
推荐指数
1
解决办法
2575
查看次数

从具有日期对象的对象数组中获取具有最早日期的最新对象

这是我的数组的样子

[
 { name: "myname", date: dateObj, value: 2 },
 { name: "othername", date: dateObj, value: 3 },
 { name: "newname", date: dateObj, value: 5 },
]
Run Code Online (Sandbox Code Playgroud)

日期是本机日期对象。

获取最旧日期的一个对象的最聪明方法是什么?有没有比遍历整个数组更好的方法了?

javascript arrays

2
推荐指数
2
解决办法
212
查看次数