附录 B :redis-py 安装方法

本书的绝大部分代码示例都使用 Python 语言编写, 并且使用了 redis-py 客户端来连接服务器并发送命令请求。

如果你正在使用的电脑尚未安装 Python , 那么请访问 Python 的官方网站并按照文档中介绍的方法下载并安装相应的编程环境: https://www.python.org/downloads/

因为本书的程序都是使用 Python 3 编写的, 所以在下载 Python 安装程序的时候, 请确保你下载的是 Python 3 而不是 Python 2 的安装程序。

在安装 Python 之后, 你应该可以通过输入以下命令来运行该语言的解释器:

$ python3
Python 3.7.3 (default, Mar 27 2019, 09:23:15)
[Clang 10.0.1 (clang-1001.0.46.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

在安装完 Python 语言环境之后, 我们就可以通过执行以下命令, 使用其附带的 pip 程序来安装 redis-py 客户端了:

$ pip install redis

在成功安装 redis-py 之后, 我们就能够在 Python 解释器里面载入这个库了:

>>> from redis import Redis             # 载入库
>>> client = Redis()                    # 创建客户端实例
>>> client.set("msg", "hello world")    # 执行 SET 命令
True
>>> client.get("msg")                   # 执行 GET 命令
b'hello world'                          # 未解码的值

注意, 正如这里展示的 GET 命令执行结果所示, redis-py 默认将返回编码后的值作为结果。 如果我们想让 redis-py 在操作字符串数据的时候自动对其实施解码, 那么只需要在创建客户端实例的时候将 decode_responses 可选项的值设置为 True 即可, 就像这样:

>>> client = Redis(decode_responses=True)
>>> client.get("msg")
'hello world'           # 字符串已解码

最后, 如果你有兴趣的话, 还可以通过执行以下命令查看 redis-py 目前支持的 Redis 命令:

>>> for i in dir(client):
...   print(i)
...
RESPONSE_CALLBACKS
__class__
# ...
_zaggregate
append
bgrewriteaof
bgsave
bitcount
bitfield
bitop
bitpos
# ...
zscan
zscan_iter
zscore
zunionstore