Redis代码实践总结(二)

使用 CLI 探索 Redis

外部程序使用 TCP 套接字和 Redis 特定协议与 Redis 进行通信。该协议在不同编程语言的 Redis 客户端库中实现。然而,为了使使用 Redis 进行黑客攻击变得更简单,Redis 提供了一个命令行实用程序,可用于向 Redis 发送命令。该程序称为redis-cli。

为了检查 Redis 是否正常工作,要做的第一件事是使用 redis-cli发送PING命令:

$ redis-cli ping
PONG

保护 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.conf的参数。
requirepass用来设置redis的验证密码 、bind一般会设置成允许其他机器访问或者仅允许部分机器访问、port 就按照业务需求来,单机就6379,集群就16379,sentine就用26379.
Sentinel 是 Redis 的高可用性解决方案之一。它是一个监控和自动故障转移系统,为 Redis 提供了主从复制的故障检测和自动切换功能。Sentinel 被设计用于在 Redis 集群中监控主服务器的状态,并在主服务器发生故障时自动将从服务器切换为新的主服务器,从而实现高可用性。)
这里是bind参数的截图
Redis代码实践总结(二)_第1张图片

我这是将 Redis 服务器绑定到所有可用的网络接口,无论是 IPv4 还是 IPv6。这是一个灵活的配置,使得 Redis 可以接受来自所有网络接口的连接。

现在我可以在本机连接linux机器(xx.xx.xx.33)上的redis了。
Redis代码实践总结(二)_第2张图片

Redis客户端

仅仅在命令行操作redis是不够的。我们需要在代码中使用它。根据使用的不同语言,JAVA、C、Go等,我们要选择对应语言的Redis包。
https://redis.io/resources/clients/#java
下图都是我需要的针对JAVA的Redis客户端。

  1. Jedis是MIT的,也是Redis推荐的官方客户端。
  2. Redisson具有更多的特性(分布式、异步响应),star更多,使用也更广泛。
    Redis代码实践总结(二)_第3张图片
    实际上,你只需要在pom.xml或gradle里引入redisson的版本包就可以使用它了。
    Redis代码实践总结(二)_第4张图片
    更具体的使用,后来再演示。

你可能感兴趣的:(redis,数据库)