Redis代码实践总结(二)

news2024/11/26 7:37:02

使用 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 服务器绑定到所有可用的网络接口,无论是 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的版本包就可以使用它了。
    在这里插入图片描述
    更具体的使用,后来再演示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1042756.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker配置镜像加速器

1.登录阿里云 阿里云-计算,为了无法计算的价值 (aliyun.com) 2.容器 说明:找到产品下的容器 3.容器镜像服务ACR 4.点击控制台 5. 点击镜像加速器 6.操作文档

项目开发过程中,成员提离职,怎么办?

之前写过一篇《如何应对核心员工提离职》反响特别好,今天做个延展篇,在项目过程中,员工突然提离职,我们有什么办法让项目按时按质的上线。 项目做多了,总会碰到这种情况。这里给大家介绍一个解决项目问题的分析方法&a…

【0223】源码剖析smgr底层设计机制(3)

1. smgr设计机制 PG内核中smgr完整磁盘存储介质的管理是通过下面三部分实现的。 1.1 函数指针结构体 f_smgr 函数指针结构体 f_smgr。 通过该函数指针类型,可完成类似于UNIX系统中的VFD功能,上层只需要调用open()、read()、write()等系统函数,用户不必去关系底层的文件系统…

Git那些事系列:从业务场景到高级技巧的完整指南(三)

文件修改的记录居然没有了!!! 如何隐蔽的把一次修改记录搞丢! 大家好,有到了Git那些事系列了,近期笔者遇到了一个十分奇怪的事情,一个Git仓库的文件被莫名其妙的修改了,问题是&…

1、SpringBoot_快速入门

一、SpringBoot 概述 文档下载地址:https://docs.spring.io/spring-boot/docs/current/reference/ 1.SpringBoot介绍 概述:SpringBoot 开发团队认为Spring操作太繁琐了,目的在于简化开发配置,能够快速搭建开发环境,…

25422-2010 草地潜松犁 阅读笔记

声明 本文是学习GB-T 25422-2010 草地潜松犁. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了草地潜松犁(以下简称潜松犁)的技术要求、试验方法、检验规则、标志、包装与贮存。 本标准适用于在草地上进行不翻垡松土、切根等项作…

RK3588 VDD_CPU_BIG0/1 电源PCB设计注意事项

RK3588 VDD_CPU_BIG0/1 电源PCB设计 1、如图1所示的滤波电容,原理图上靠近 RK3588的VDD_CPU_BIG电源管脚绿线以内的去耦电容务必放在对应的电源管脚背面,电容GND PAD尽量靠近芯片中心的GND管脚放置,如图2所示。其余的去耦电容尽量摆放在3588…

python学习--特殊方法和属性

名称描述特殊属性dict获得类对象或实例对象所绑定的所有属性和方法的字典特殊方法len()通过重写_len_()方法,让内置函数len()的参数可以是自定义的类型特殊方法add()通过重写_add_()方式,,可使自定义对象有‘’的功能特殊方法new()用于创建对…

overleaf杂谈-Springer文献格式问题

目录 overleaf写作问题记录1.Latex中的%问题(文本变成灰色)2.Springer文献格式问题2.1 新建reference.bib2.2 谷歌学术搜索文章并引用2.3 复制BibTex2.4 复制进reference.bib2.5 在sn-article.tex的\end{document}前添加语句2.6 引用文献2.7 Springer模板…

视频下载器助手:如何把微信视频号的视频下载下来

随着移动互联网的飞速发展,短视频已深入人心,成为我们生活中不可或缺的一部分。我们常常在各种社交平台上发现有趣、有价值的视频内容,但不知道如何把微信视频号的视频下载下来并保存到本地手机相册 今天,我为大家带来了一款实用…

C语言每日一题(11):杨辉三角

文章主题:求两个数二进制中不同位的个数🔥所属专栏:C语言每日一题📗作者简介:每天不定时更新C语言的小白一枚,记录分享自己每天的所思所想😄🎶个人主页:[₽]的个人主页&a…

SAP ABAP端实现解析具有深层结构的文件内容(类似SAP PO中的FCC功能)

前言 日本项目经常需要通过PI或者CPI去解析一些文件内容,如果只是扁平结构的,不涉及头行结构的话,在PI中可以FCC(File Content Conversion)进行解析转换,在CPI中可以使用groovy脚本进行解析转换&#xff0…

如何试用 Vectorizer.AI 将位图转换为矢量图

Vectorizer.AI 是一个使用人工智能技术将位图转换为矢量图的在线工具。它支持 JPEG、PNG、BMP 和 GIF 格式的位图,最大像素为 2 万像素,最大文件大小为 30 MB。Vectorizer.AI 目前处于测试阶段,完全免费使用。 要试用 Vectorizer.AI&#xf…

【微服务】spring 控制bean加载顺序使用详解

目录 一、前言 二、使用order注解控制顺序 2.1 order 注解使用示例 2.2 order注解顺序失效问题 2.2.1 order失效问题解决办法 2.3 实现Ordered接口 三、使用dependon注解控制顺序 四、AutoConfiguration注解控制bean加载顺序 4.1 AutoConfigureBefore 操作演示 4.2 A…

进程与线程的记忆方法

有很多人经常会分不清进程与线程的关系, 嗯。。。。。。可能只有我自己记不清吧 举个例子: 进程:登录一个qq号,就是一个进程。 线程:同时打开多个窗口聊天,就是多个线程。 每次记忆完,过了一段…

Python函数绘图与高等代数互融实例(六): 条形图|直方图|饼状图|并列柱状图

Python函数绘图与高等代数互融实例(一):正弦函数与余弦函数 Python函数绘图与高等代数互融实例(二):闪点函数 Python函数绘图与高等代数互融实例(三):设置X|Y轴|网格线 Python函数绘图与高等代数互融实例(四):设置X|Y轴参考线|参考区域 Python函数绘图与高等代数互融实例(五…

SQLAlchemy中filter函数的使用

目录 filter过滤数据 方法及使用示例 基本过滤 多个条件的过滤 模糊查询 IN查询 空值和非空值 代码演示 代码刨析 filter过滤数据 在SQLAlchemy中,filter 方法用于在查询中对数据进行过滤,以获取符合特定条件的记录。这方法允许你构建 SQL 查询中…

LeetCode-热题100-笔记-day32

二分查找 今日刷到二分查找,以前做过的题忘的一干二净;庆幸自己用新的方法做了出来两道“中等”题;(我都能做出来我认为应该标“简单”)由于之前题的难度基本在抄答案,所以停更几天。今天没抄答案就更新一…

OpenCV显示10bit Raw数据

参考&#xff1a;10 12 14bit图像存储格式&#xff0c;利用Opencv显示10bit Raw数据,并根据鼠标的移动显示对应位置的灰度值。其他bit位数的Raw数据方法类似。 代码实现&#xff1a; #include<opencv2/opencv.hpp> #include<iostream> #include<opencv/highgu…

asisctf 2023 web hello wp

hello 开题&#xff0c;直接给了源码。 <?php /* Read /next.txt Hint for beginners: read curls manpage. */ highlight_file(__FILE__); $url file:///hi.txt; if(array_key_exists(x, $_GET) &&!str_contains(strtolower($_GET[x]),file) && !str_c…