Redis入门

这是Redis的入门指南。您将学习如何安装、运行和测试Redis服务器进程

安装Redis

如何安装Redis取决于您的操作系统。请参阅下面最适合您需求的指南:

一旦您启动并运行Redis,并且可以使用redis-cli进行连接,就可以继续进行下面的步骤。

使用CLI对Redis进行探索

外部程序使用TCP接口和Redis特定协议与Redis对话。该协议在Redis客户端中可以对不同的编程语言响应。为了让Redis更简单,Redis提供了一个实用的命令行程序,用于向Redis发送命令。这个程序叫redis-cli。

要检查Redis是否正常工作,首先要使用redis-cli发送PING命令:

$ redis-cli ping

PONG

运行redis-cli后,根据命令名及其参数,将此命令发送到主机上运行的redis实例(端口6379)。您可以更改redis-cli使用的主机和端口,只需尝试–help选项来检查使用信息。

另一种运行redis-cli的有趣方式是不带参数:程序将以交互模式启动。您可以键入不同的命令并查看回复。

$ redis-cli

redis 127.0.0.1:6379> ping

PONG

redis 127.0.0.1:6379> set mykey somevalue

OK

redis 127.0.0.1:6379> get mykey

“somevalue”

此时,您可以与Redis进行对话。可以暂停一下本教程,开始15分钟的Redis 数据类型介绍,以便学习一些Redis命令。

如果您已经知道一些基本的Redis命令,您可以继续。

保护Redis

默认情况下,Redis绑定到所有接口,并且无需身份验证。如果您在非常可控的环境中使用Redis,将其与外部网络和攻击隔离,当然是很好的。但是,如果一个未加固的Redis暴露在网络中,则存在很大的安全隐患。如果您不能100% 确定您的环境是否安全,请检查以下步骤以使Redis更安全,这些步骤是按照提高安全性的顺序排列的。

1)确保Redis用于侦听连接的端口(默认情况下为6379,如果在群集模式下运行Redis,则为16379,对于Sentinel,为26379)已安装防火墙,以保证无法从外部环境与Redis建立连接。

2)使用设置了bind指令的配置文件,以确保Redis仅响应您正在使用的网络接口。例如,如果您仅从同一台计算机本地访问Redis,则仅使用环回接口(127.0.0.1),以此类推。

3)使用requirepass选项添加额外的安全层,以便客户端需要使用AUTH命令进行身份验证。

4)如果您的环境需要加密,请使用spiped或其他SSL隧道软件,以加密Redis服务器和Redis客户端之间的通信。

请注意,一个暴露在互联网上、没有任何安全保障的Redis实例是很容易被利用的,所以请确保你了解上述情况并至少应用一个防火墙层。防火墙设置好后,尝试从外部主机用redis-cli连接,以证明自己无法访问该实例。

在你的应用程序中使用Redis

仅仅从命令行界面使用Redis是不够的,目标是在你的应用程序中使用它。为了做到这一点,你需要下载并安装一个适合你的编程语言的Redis客户端库。你可以在这个页面上找到不同语言的客户端的完整列表。

例如,如果你碰巧使用Ruby编程语言,我们最好的建议是使用Redis-rb客户端。你可以使用gem install redis命令来安装它。

这些说明是针对Ruby的,但实际上许多主流语言的客户端看起来非常相似。你想创建一个Redis对象并执行调用方法的命令,可以参照下面这个使用Ruby语言的简短的交互例子。

>> require ‘rubygems’

=> false

>> require ‘redis’

=> true

>> r = Redis.new

=> #<Redis client v4.5.1 for redis://127.0.0.1:6379/0>

>> r.ping

=> “PONG”

>> r.set(‘foo’,’bar’)

=> “OK”

>> r.get(‘foo’)

=> “bar”