diff --git a/library/think/cache/Driver.php b/library/think/cache/Driver.php index e1b4bcbd..84ce7eaf 100644 --- a/library/think/cache/Driver.php +++ b/library/think/cache/Driver.php @@ -93,9 +93,12 @@ abstract class Driver $this->tag = $name; return $this; } else { - $key = 'tag_' . md5($name); - $value = is_array($keys) ? implode(',', $keys) : $keys; - $this->set($key, $value); + $key = 'tag_' . md5($name); + if (is_string($keys)) { + $keys = explode(',', $keys); + } + $value = array_unique(array_merge($this->getTagItem($name), $keys)); + $this->set($key, implode(',', $value)); } }