|
|
|
|
(ns NoteHub.storage
|
|
|
|
|
(:require [clj-redis.client :as redis]))
|
|
|
|
|
|
|
|
|
|
(def db (redis/init))
|
|
|
|
|
|
|
|
|
|
(def note "note")
|
|
|
|
|
|
|
|
|
|
(def views "views")
|
|
|
|
|
|
|
|
|
|
(defn- build-key [[year month day] title]
|
|
|
|
|
(print-str year month day title))
|
|
|
|
|
|
|
|
|
|
(defn set-note [date title text]
|
|
|
|
|
(let [key (build-key date title)]
|
|
|
|
|
(do
|
|
|
|
|
(redis/hset db views key 0)
|
|
|
|
|
(redis/hset db note key text))))
|
|
|
|
|
|
|
|
|
|
(defn get-note [date title]
|
|
|
|
|
(let [key (build-key date title)]
|
|
|
|
|
(do
|
|
|
|
|
(redis/hincrby db views key 1)
|
|
|
|
|
(redis/hget db note key))))
|
|
|
|
|
|
|
|
|
|
(defn get-views [date title]
|
|
|
|
|
(redis/hget db views (build-key date title)))
|
|
|
|
|
|
|
|
|
|
(defn note-exists? [date title]
|
|
|
|
|
(redis/hexists db note (build-key date title)))
|
|
|
|
|
|
|
|
|
|
(defn delete-note [date title]
|
|
|
|
|
(redis/hdel db note (build-key date title)))
|