• Redis代码实践总结(二)


    使用 CLI 探索 Redis

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

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

    $ redis-cli ping
    PONG
    
    • 1
    • 2

    保护 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 服务器绑定到所有可用的网络接口,无论是 IPv4 还是 IPv6。这是一个灵活的配置,使得 Redis 可以接受来自所有网络接口的连接。

    现在我可以在本机连接linux机器(xx.xx.xx.33)上的redis了。
    在这里插入图片描述

    Redis客户端

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

    1. Jedis是MIT的,也是Redis推荐的官方客户端。
    2. Redisson具有更多的特性(分布式、异步响应),star更多,使用也更广泛。
      在这里插入图片描述
      实际上,你只需要在pom.xml或gradle里引入redisson的版本包就可以使用它了。
      在这里插入图片描述
      更具体的使用,后来再演示。
  • 相关阅读:
    《MLB棒球创造营》:走近棒球运动·德州游骑兵队
    机器学习(二):聚类算法1——K-means算法
    笔记本触摸板手势使用
    【docker】Docker consul的容器服务更新与发现
    设计一个简单HTML爵士音乐网页(HTML+CSS)
    传输安全HTTPS
    我记不住的那些命令(不断更新中)
    SSM+美食论坛系统 毕业设计-附源码191023
    图情笔记 | 基于机构视角下的红色资源阅读推广服务
    使用Spring构建Web应用SpringMVC详解!
  • 原文地址:https://blog.csdn.net/m0_37530301/article/details/133277098