Skip to content

Commit

Permalink
修复 string 类命令
Browse files Browse the repository at this point in the history
  • Loading branch information
huangzworks committed Apr 1, 2012
1 parent 5dc0a15 commit d2f21f5
Show file tree
Hide file tree
Showing 7 changed files with 33 additions and 33 deletions.
8 changes: 4 additions & 4 deletions key/del.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ DEL
>= 1.0.0

**时间复杂度:**
| O(N), ``N`` 为被移除的 ``key`` 的数量。
| O(N), ``N`` 为被删除的 ``key`` 的数量。
| 移除单个字符串类型的 ``key`` ,时间复杂度为O(1)。
| 移除单个列表、集合、有序集合或哈希表类型的 ``key`` ,时间复杂度为O(M), ``M`` 为以上数据结构内的元素数量。
| 删除单个字符串类型的 ``key`` ,时间复杂度为O(1)。
| 删除单个列表、集合、有序集合或哈希表类型的 ``key`` ,时间复杂度为O(M), ``M`` 为以上数据结构内的元素数量。
**返回值:**
被移除 ``key`` 的数量。
被删除 ``key`` 的数量。

::

Expand Down
16 changes: 8 additions & 8 deletions key/keys.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,15 @@ KEYS

查找所有符合给定模式 ``pattern`` 的 ``key`` 。

| ``KEYS *`` 命中数据库中所有 ``key`` 。
| ``KEYS h?llo`` 命中 ``hello`` , ``hallo and hxllo`` 等。
| ``KEYS h*llo`` 命中 ``hllo`` 和 ``heeeeello`` 等。
| ``KEYS h[ae]llo`` 命中 ``hello`` 和 ``hallo`` ,但不命中 ``hillo`` 。
| ``KEYS *`` 匹配数据库中所有 ``key`` 。
| ``KEYS h?llo`` 匹配 ``hello`` , ``hallo and hxllo`` 等。
| ``KEYS h*llo`` 匹配 ``hllo`` 和 ``heeeeello`` 等。
| ``KEYS h[ae]llo`` 匹配 ``hello`` 和 ``hallo`` ,但不匹配 ``hillo`` 。
特殊符号用 ``"\"`` 隔开
特殊符号用 ``\`` 隔开

.. warning::
`KEYS`_ 的速度非常快,但在一个大的数据库中使用它仍然可能造成性能问题,如果你需要从一个数据集中查找特定的 ``key`` ,你最好还是用 Redis 的集合结构(set)来代替。

**可用版本:**
>= 1.0.0
Expand All @@ -23,9 +26,6 @@ KEYS
**返回值:**
符合给定模式的 ``key`` 列表。

.. warning::
`KEYS`_ 的速度非常快,但在一个大的数据库中使用它仍然可能造成性能问题,如果你需要从一个数据集中查找特定的 ``key`` ,你最好还是用 Redis 的集合结构(set)来代替。

::

redis> MSET one 1 two 2 three 3 four 4 # 一次设置 4 个 key
Expand Down
30 changes: 14 additions & 16 deletions key/move.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,22 +24,22 @@ MOVE

# key 存在于当前数据库

redis> SELECT 0 # redis默认使用数据库 0,为了清晰起见,这里再显式指定一次。
redis> SELECT 0 # redis默认使用数据库 0,为了清晰起见,这里再显式指定一次。
OK

redis> SET song "secret base - Zone"
OK

redis> MOVE song 1 # 将 song 移动到数据库 1
redis> MOVE song 1 # 将 song 移动到数据库 1
(integer) 1

redis> EXISTS song # song 已经被移走
redis> EXISTS song # song 已经被移走
(integer) 0

redis> SELECT 1 # 使用数据库 1
redis> SELECT 1 # 使用数据库 1
OK

redis:1> EXISTS song # 证实 song 被移到了数据库 1 (注意命令提示符变成了"redis:1",表明正在使用数据库 1)
redis:1> EXISTS song # 证实 song 被移到了数据库 1 (注意命令提示符变成了"redis:1",表明正在使用数据库 1)
(integer) 1

Expand All @@ -48,41 +48,39 @@ MOVE
redis:1> EXISTS fake_key
(integer) 0

redis:1> MOVE fake_key 0 # 试图从数据库 1 移动一个不存在的 key 到数据库 0,失败
redis:1> MOVE fake_key 0 # 试图从数据库 1 移动一个不存在的 key 到数据库 0,失败
(integer) 0

redis:1> select 0 # 使用数据库0
redis:1> select 0 # 使用数据库0
OK

redis> EXISTS fake_key # 证实 fake_key 不存在
redis> EXISTS fake_key # 证实 fake_key 不存在
(integer) 0


# 当源数据库和目标数据库有相同的 key 时

redis> SELECT 0 # 使用数据库0
redis> SELECT 0 # 使用数据库0
OK
redis> SET favorite_fruit "banana"
OK

redis> SELECT 1 # 使用数据库1
redis> SELECT 1 # 使用数据库1
OK
redis:1> SET favorite_fruit "apple"
OK

redis:1> SELECT 0 # 使用数据库0,并试图将 favorite_fruit 移动到数据库 1
redis:1> SELECT 0 # 使用数据库0,并试图将 favorite_fruit 移动到数据库 1
OK

redis> MOVE favorite_fruit 1 # 因为两个数据库有相同的 key,MOVE 失败
redis> MOVE favorite_fruit 1 # 因为两个数据库有相同的 key,MOVE 失败
(integer) 0
redis> GET favorite_fruit # 数据库 0 的 favorite_fruit 没变
redis> GET favorite_fruit # 数据库 0 的 favorite_fruit 没变
"banana"

redis> SELECT 1
OK

redis:1> GET favorite_fruit # 数据库 1 的 favorite_fruit 也是
redis:1> GET favorite_fruit # 数据库 1 的 favorite_fruit 也是
"apple"


1 change: 1 addition & 0 deletions key/pttl.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ PTTL
redis> PTTL mykey
(integer) 1000


# 对不存在的 key 返回 -1

redis> EXISTS some_key
Expand Down
8 changes: 4 additions & 4 deletions key/rename.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ RENAME

将 ``key`` 改名为 ``newkey`` 。

当 ``key`` 和 ``newkey`` 相同或者 ``key`` 不存在时,返回一个错误。
当 ``key`` 和 ``newkey`` 相同,或者 ``key`` 不存在时,返回一个错误。

当 ``newkey`` 已经存在时, `RENAME`_ 命令将覆盖旧值。

Expand All @@ -30,10 +30,10 @@ RENAME
redis> RENAME message greeting
OK

redis> EXISTS message # message 不复存在
redis> EXISTS message # message 不复存在
(integer) 0

redis> EXISTS greeting # greeting 取而代之
redis> EXISTS greeting # greeting 取而代之
(integer) 1


Expand All @@ -57,5 +57,5 @@ RENAME
redis> GET pc
(nil)

redis:1> GET personal_computer # 原来的值 dell 被覆盖了
redis:1> GET personal_computer # 原来的值 dell 被覆盖了
"lenovo"
2 changes: 1 addition & 1 deletion key/renamenx.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ RENAMENX

当且仅当 ``newkey`` 不存在时,将 ``key`` 改名为 ``newkey`` 。

如果 ``key`` 不存在时,返回一个错误。
``key`` 不存在时,返回一个错误。

**可用版本:**
>= 1.0.0
Expand Down
1 change: 1 addition & 0 deletions key/ttl.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ TTL
redis> GET name # 并且 key 被删除
(nil)


# 不带TTL的key

redis> SET site wikipedia.org
Expand Down

0 comments on commit d2f21f5

Please sign in to comment.