     (.contains service key)))
 
 
-(defn delete [key & {:keys [service namespace millis-no-readd]}]
+(defn delete
+  "If (sequential? key), deletes in batch."
+  [key & {:keys [service namespace millis-no-readd]}]
   (let [service (get-memcache-service :service service :namespace namespace)]
     (if millis-no-readd
-        (.delete service key millis-no-readd)
-        (.delete service key))))
+        (if (sequential? key)
+            (.deletAll service key millis-no-readd)
+            (.delete service key millis-no-readd))
+        (if (sequential? key)
+            (.deleteAll service key)
+            (.delete service key)))))
 
 
-(defn get [key & {:keys [service namespace]}]
+(defn get
+  "If (sequential? key), returns values as a map."
+  [key & {:keys [service namespace]}]
   (let [service (get-memcache-service :service service :namespace namespace)]
-    (.get service key)))
+    (if (sequential? key)
+        (into {} (.getAll service key))
+        (.get service key))))
 
 
 (defn put [key value & {:keys [service namespace]}]

                       total-item-bytes])


(defn stats [& {:keys [service namespace]}]
  (let [service (get-memcache-service :service service :namespace namespace)
        stats (.getStatistics service)]
    (Statistics. (.getBytesReturnedForHits stats)

                 (.getTotalItemBytes stats))))


(defn clear-all
  "Clears the entire cache. Does not respect namespaces!"
  [& {:keys [service namespace]}]
  (let [service (get-memcache-service :service service :namespace namespace)]
