小编sil*_*lau的帖子

Nginx try_files - 日志命中/未命中

我有两个坐骑:

  • /mnt/nfs - 包含大量文件的 NFS 挂载。
  • /mnt/ssd - 本地 SSD 磁盘,充当上述 nfs 挂载的缓存。

在 nginx 中我配置了一个位置,如下所示:

location ~ /my_location/(.*) {
  alias /mnt/;
  try_files ssd/$1 nfs/$1 =404;
}
Run Code Online (Sandbox Code Playgroud)

这本身就很好用。

我想记录何时从 ssd 找到文件以及何时需要从 nfs 挂载获取该文件。

从SSD查找文件将被记录为HIT

必须转到nfs将被记录为MISS

我怎样才能实现这个目标?

nginx

6
推荐指数
1
解决办法
758
查看次数

Clojure:向向量添加元素在地图上

我有这张地图

(def m {:a "aaa" :b {:c ["ss" "gg"]}})
Run Code Online (Sandbox Code Playgroud)

我想将其更新为此(将"uu"添加到向量:c):

{:a "aaa" :b {:c ["ss" "gg" "uu"]}}
Run Code Online (Sandbox Code Playgroud)

这就是我想出来的,我讨厌它:

(assoc-in m [:b :c] (conj (get-in m [:b :c]) "uu"))
Run Code Online (Sandbox Code Playgroud)

应该怎么做?

dictionary vector clojure

4
推荐指数
1
解决办法
579
查看次数

postgres 9.3 json 字符串数组到文本

使用 PostgreSQL 9.3,json_array_elements 函数将数组中的每个字符串元素作为 json 字符串返回。

select value from json_array_elements('["a", "b"]');

value 
-------
"a"
"b"
Run Code Online (Sandbox Code Playgroud)

我想将这些转换为常规的 Postgres TEXT 值,但我不知所措。我试过 value::TEXT 但它们仍然是双引号,即 json 字符串。

postgresql json

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

Clojure 函数调用的可选参数

我有一个a可能是也可能不是的价值nil

我有一堆函数(在我的控制范围之外),a如果它不是,则应将其值作为第一个参数调用nil。如果是nil,则应在没有 的情况下调用该函数a

代替:

(defn my-fn [x]
  (if a
      (beyond-my-control-fn a x)
      (beyond-my-control-fn x)))
Run Code Online (Sandbox Code Playgroud)

我想做类似的事情:

(defn my-fn [x]
  (add-argument-if-not-nil-> a (beyond-my-control-fn x)))
Run Code Online (Sandbox Code Playgroud)

是否有一个宏可以让我这样做,还是我应该自己做?

arguments clojure

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

标签 统计

clojure ×2

arguments ×1

dictionary ×1

json ×1

nginx ×1

postgresql ×1

vector ×1