当前位置: 首页 > news >正文

BCSP-玄子Share-Java框基础_双系统Redis安装与基础语法

四、Redis

4.1 Redis 简介

Redis 是开源、高性能的key-value数据库,属于 NoSQL 数据库

NoSQL 数据库与关系型数据库

  • 关系型数据库:采用关系模型来组织数据,主要用于存储格式化的数据结构
  • NoSQL 数据库:泛指非关系型数据库,向外提供特定的 API 而不是通用的 SQL 接口,数据访问更加高效

4.1.1 Redis 的特点

  • 不仅支持简单的 string 类型数据,同时还提供 list、set、zset、hash 等数据结构的存储
  • 支持数据持久化,可以将内存中的数据保存在磁盘中
  • 支持 master-slave 模式的数据备份

4.2 Linux 安装 Redis

4.2.1 前置条件

Linux 本地体验需安装 Linux 虚拟机

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Linux 安装 Redis 需学到第 15 节

【小白入门 通俗易懂】2021韩顺平 一周学会Linux

https://www.bilibili.com/video/BV1Sv411r7vd?p=15&vd_source=3b9216711765e1ac14ef21c8216ed8eb

4.2.2 安装包

redis https://download.redis.io/releases/

请添加图片描述

选择需要的版本下载即可

4.2.3 安装教程

此处默认您已会使用 VM 虚拟机运行 Linux 系统,包括 Xshell 与 Xftp

请添加图片描述

虚拟机输入ifconfig -a获取 Linux IP 地址


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用 Xftp 将 Redis 安装包上传到 Linux


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用 Xshell 连接 Linux 输入ll查看上传状态

然后输入 tar -zxvf Redis 文件名 解压 Redis 压缩包

Redis 文件名输入两个字母按下 Tab 键可自动补全


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

输入 cd 进入到解压后的 Redis 目录


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

因为 Redis 使用 C 编写,所以需安装 GCC 依赖

输入yum install -y gcc

这里的-y表示一键安装


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

安装完成后输入gcc -v校验安装

再输入make install 安装 Redis


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

输入cd utils进入到utlis目录


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

输入./install_server.sh执行脚本

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这里可能会出现报错,打开脚本注释以下内容后重新执行

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

执行脚本可对 Redis 进行设置,无特殊需求直接回车结束即可


4.2.4 校验

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.3 Windows 安装 Redis

4.3.1 安装包

Redis for Windows 5.0.14.1 https://github.com/tporadowski/redis/releases/tag/v5.0.14.1

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Redis 7.0.11 for Windows https://github.com/zkteco-home/redis-windows/releases/tag/7.0.11

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.3.2 安装教程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

选择安装路径,并勾选下方选项,将 Redis 添加到系统环境变量


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这个是 Redis 默认的端口号,无特殊需求不用改


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

设置最大内存限制,无特殊需求不用改


4.3.3 校验

键盘按下 Win + R 输入 cmd打开命令提示符,输入以下指令

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.3.4 RedisDesktopManager

RedisDesktopManager https://github.com/RedisInsight/RedisDesktopManager/releases/tag/2022.5

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

请添加图片描述

4.4 Linux 配置 Redis

4.4.1 环境配置

设置内存分配策略

echo 1 > /proc/sys/vm/overcommit_memory

开放Redis端口

  • 配置防火墙开放6379端口
  • 重启防火墙使规则生效

4.4.2 配置文件

设置Redis配置文件redis.conf

  • 设置Redis服务可以监听的请求IP地址,多个IP地址使用空格分隔
bind  127.0.0.1  ::
  1. bind 0.0.0.0或使用 # 将bind指令注释掉,则可监听所有IP地址的请求
  2. 如果Redis服务运行于Internet上,建议仅绑定应用相关的客户端IP地址
  • 设置Redis监听端口,默认是6379
port  6379
  • 设置Redis访问密码,默认不需要密码
requirepass  123456

由于Redis的高性能特性,可以在很短的时间内并行尝试大量密码,因此应使用一个高强度的密码

  • 设置Redis是否作为守护进程运行,默认no
daemonize  yes
  • 设置Redis的日志文件路径,默认"",不生成日志文件
logfile  "/usr/local/redis-3.2.8/log/redis.log"
  • 设置Redis数据库数量,默认是16
databases  16
  1. Redis中不同的可选数据库以命名空间的形式管理,数据文件是同一个2. Redis划分数据库主要用于在必要的情况下分隔同一应用中存储的key(不同数据库中可以使用相同名称的key),而不是为了区分多个应用
  • 设置Redis的工作目录(即Redis的数据文件的存储目录),默认为 ./,即在Redis安装目录下
dir  /data/redisdata/

4.4.3 启动Redis服务

  • 执行Redis安装目录下bin目录中的redis-server命令
cd  /usr/local/redis-3.2.8/
./bin/redis-server  ./etc/redis.conf

启动Redis服务所依据的配置文件

注意daemonize指令设置为no或yes的区别

  • 可以使用tail命令跟踪Redis日志信息
tail  -F  /usr/local/redis-3.2.8/log/redis.log
  1. daemonize为no时,可以另外开启一个会话连接至Redis服务器,并在此会话中跟踪Redis日志内容的变化2. 如果Redis的日志文件路径为默认的 logfile “”,则不会创建日志文件,daemonize为yes时,日志信息会直接输出在控制台中

4.4.4 启动Redis客户端

执行Redis安装目录下bin目录中的redis-cli命令

redis-cli  [选项]
选项说明
-h <hostname>服务器主机地址,默认为127.0.0.1
-p <port>服务端口,默认为6379
-a <password>Redis服务访问密码
-n <dbid>所要连接的数据库的id,默认为0
### 连接到本地Redis服务中dbid为0数据库
cd  /usr/local/redis-3.2.8/
./bin/redis-cli

4.5 Windows 配置 Redis

Windows 版 Redis 不支持 daemonize 参数

  • MSI 软件包可以直接将 Redis 安装成 Windows 服务,并通过 redis.windows-service.conf 文件配置其他参数
  • 解压版 Redis 需通过命令将 redis-server.exe 注册为服务
// 进入到Redis的安装目录下执行
redis-server  --service-install  redis.windows.conf  --loglevel  verbose

其他配置参数、使用方式与 Linux 版相同

4.6 Redis常用命令

4.6.1 认证和退出操作

auth

  • 请求进行身份验证
  • 如果password与配置文件中的密码匹配,则返回OK状态代码并开始接受命令。否则返回错误quit要求服务器关闭连接
auth  password

quit

  • 要求服务器关闭连接

4.6.2 键值对操作

set

  • 设置key以保存value(string类型)
  • set正确执行,返回字符串OK。未执行set操作,则返回空回复nil
set  key  value  [ex  seconds | px  milliseconds]  [nx | xx]
  • ex:设置指定的过期时间seconds,以秒为单位
  • px:设置指定的过期时间milliseconds,以毫秒为单位
  • nx:仅在key不存在时设置该key(只创建、不覆盖)
  • xx:仅在key已存在时设置该key(只覆盖、不创建)

get

  • 获取key对应value
  • 如果key不存在,则返回特殊值nil。如果存储在key中的值不是字符串,则返回错误,因为get仅处理字符串值
get  key

4.6.3 key 操作

exists

  • 判断指定的key是否存在
  • 从Redis 3.0.3开始,可以指定多个key
  • 仅指定一个key时,key存在返回1,不存在返回0。
  • 指定多个key时,返回存在的key的总数
exists  key1  [key2  ...]

keys

  • 返回和pattern(模式)匹配的所有key
keys  pattern

支持的常用模式如下

  • h?llo :匹配单个字符,如hello,hallo,hxllo等
  • h*llo:匹配任意字符,如hllo,heeeello等
  • h[ae]llo:包含一个指定字符,如hello或hallo
  • h[^ae]llo:包含除指定字符外的一个字符,如hbllo,hcllo等,不包括hallo和hello
  • h[a-c]llo:匹配指定范围内的一个字符,如hallo,hbllo,hcllo
  • 如需匹配以上模式中特殊字符,需要使用\转义

del

  • 删除指定的key
  • 返回已删除的key的数量。如果key不存在则忽略该key
del  key1  [key2  ...]

rename

  • 将key重命名为newkey如果newkey已经存在则会被覆盖(此时rename执行隐式del操作)
  • 若key不存在返回错误
rename  key  newkey

4.6.4 生命周期操作

expire

  • 在key上设置超时时间timeout,时间以秒为单位
  • 设置成功返回1,key不存在返回0
expire  key  timeout

ttl

  • 以秒为单位返回key的剩余生存时间
  • Redis 2.8及以上版本,key未设置超时时间返回-1,key不存在返回-2
  • Redis 2.6及以下版本,未设置超时时间和key不存在均返回-1
ttl  key

persist

  • 删除key上现有的超时设置,使key变为永久有效
  • 超时设置被删除,返回1
  • key不存在或没有关联的超时设置,返回0
persist  key

4.6.5 数据库操作

select

  • 选择具有指定dbid的Redis逻辑数据库
select  dbid

flushdb

  • 删除当前所选数据库中的所有key

flushall

  • 删除所有现有数据库中的所有key,而不仅仅是当前选定的数据库

4.7 Java 访问 Redis

Jedis 在 Java 应用中实现 Redis 客户端的功能

  • 下载 Jedis 依赖
  • 下载 Apache Commons Pool 2 组件

Jedis 的使用

  • JedisPoolConfig:连接池配置对象
    • maxTotal:最大活动连接数,默认为8。-1表示不限制
    • maxIdle:最大空闲连接数,默认为8
    • minIdle:最小空闲连接数,默认为0
    • maxWaitMillis:从池中获取一个资源时的最大等待时间,单位是毫秒,-1表示永不超时
    • testOnBorrow:在从池中获取一个资源时,是否提前进行验证操作
  • JedisPool:连接池对象
  • Jedis:封装Redis访问API的核心类

4.7.1 代码案例

  • 普通连接
public class Xz01 {public static void main(String[] args) {Jedis redis = new Jedis("localhost", 6379);System.out.println(redis.ping());}
}
  • 数据池连接

先打 jar 包

<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>5.0.0-beta2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-pool2 -->
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId><version>2.11.1</version>
</dependency>
  • 工具类
public class JedisAPI {private static final JedisPool jedisPool;static {JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();jedisPoolConfig.setMaxTotal(50);jedisPoolConfig.setMaxIdle(10);jedisPoolConfig.setMinIdle(7);jedisPoolConfig.setMaxWaitMillis(10000);jedisPoolConfig.setTestOnBorrow(true);jedisPool = new JedisPool(jedisPoolConfig, "localhost", 6379, 10000);
//      ,"0207",0}public boolean set(String key, String value) {Jedis jedis = null;try {jedis = jedisPool.getResource();jedis.set(key, value);return true;} catch (Exception e) {e.printStackTrace();return false;} finally {if (jedis != null) {jedis.close();}}}public String get(String key) {Jedis jedis = null;String value = null;try {jedis = jedisPool.getResource();value = jedis.get(key);} catch (Exception e) {e.printStackTrace();} finally {if (jedis != null) {jedis.close();}}return value;}public void destroy() {if ((jedisPool != null) || jedisPool.isClosed()) {jedisPool.close();}}public String ping() {Jedis jedis = null;try {jedis = jedisPool.getResource();return jedis.ping();} catch (Exception e) {e.printStackTrace();return "false";} finally {if (jedis != null) {jedis.close();}}}
}
  • 调用代码
public class Xz02 {public static void main(String[] args) {JedisAPI jedisAPI = new JedisAPI();String set = jedisAPI.ping();System.out.println(set);jedisAPI.destroy();}
}

玄子Share - Java 开发之框架基础技术 8.2

相关文章:

BCSP-玄子Share-Java框基础_双系统Redis安装与基础语法

四、Redis 4.1 Redis 简介 Redis 是开源、高性能的key-value数据库&#xff0c;属于 NoSQL 数据库 NoSQL 数据库与关系型数据库 关系型数据库&#xff1a;采用关系模型来组织数据&#xff0c;主要用于存储格式化的数据结构NoSQL 数据库&#xff1a;泛指非关系型数据库&…...

android system_server WatchDog简介

简介 android系统中SystemServer WatchDog的主要作用是监控SystemServer进程的运行状态,防止其卡住或者死锁。 具体来说,watchDog线程会定期去检查SystemServer线程的运行情况。如果发现SystemServer线程超过一定时间未有响应,watchDog会认为SystemServer进程发生了问题,这时…...

华为---OSPF协议优先级、开销(cost)、定时器简介及示例配置

OSPF协议优先级、开销、定时器简介及示例配置 路由协议优先级&#xff1a;由于路由器上可能同时运行多种动态路由协议&#xff0c;就存在各个路由协议之间路由信息共享和选择的问题。系统为每一种路由协议设置了不同的默认优先级&#xff0c;当在不同协议中发现同一条路由时&am…...

MEMORY-VQ: Compression for Tractable Internet-Scale Memory

本文是深度学习相关文章&#xff0c;针对《MEMORY-VQ: Compression for Tractable Internet-Scale Memory》的翻译。 MEMORY-VQ&#xff1a;可追溯互联网规模存储器的压缩 摘要1 引言2 背景3 MEMORY-VQ4 实验5 相关工作6 结论 摘要 检索增强是一种强大但昂贵的方法&#xff0…...

Netty—ChannelHandler

文章目录 一、Channel、ChannelPipeline 以及ChannelHandler 三者的关系❓二、ChannelHandler 是什么&#xff1f;&#x1f914;️三、ChannelInboundHandler四、ChannelOutboundHandler 一、Channel、ChannelPipeline 以及ChannelHandler 三者的关系❓ 通过以上对Channel和Ch…...

Android 集成onenet物联网平台

一&#xff0c;在Android应用程序中集成OneNet物联网平台&#xff0c;您可以按照以下步骤进行操作&#xff1a; 注册OneNet账户&#xff1a;首先&#xff0c;您需要在OneNet官方网站上注册一个账户。访问OneNet网站&#xff08;https://open.iot.10086.cn/ ↗&#xff09;&…...

java八股文面试[JVM]——如何打破双亲委派模型

双亲委派模型的第一次“被破坏”是重写自定义加载器的loadClass(),jdk不推荐。一般都只是重写findClass()&#xff0c;这样可以保持双亲委派机制.而loadClass方法加载规则由自己定义&#xff0c;就可以随心所欲的加载类&#xff0c;典型的打破双亲委派模型的框架和中间件有tomc…...

一加11/Ace2/10Pro手机如何实现全局120HZ高刷-游戏超级流畅效果

已经成功root啦。安卓13目前也一样支持LSPosed框架&#xff0c;如果你对LSP框架有需求&#xff0c;也可以使 自测120HZ刷新率诞生以后&#xff0c;很多小伙伴用上了就很难回来啦&#xff0c;一加11/Ace2/10Pro/9pro手 机厂商也对新机做了很多的适配&#xff0c;让我们日常使用起…...

微服务主流框架概览

微服务主流框架概览 目录概述需求&#xff1a; 设计思路实现思路分析1.HSF2.Dubbo 3.Spring Cloud5.gRPC Service mesh 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a be…...

Python Flask Web开发二:数据库创建和使用

前言 数据库在 Web 开发中起着至关重要的作用。它不仅提供了数据的持久化存储和管理功能&#xff0c;还支持数据的关联和连接&#xff0c;保证数据的一致性和安全性。通过合理地设计和使用数据库&#xff0c;开发人员可以构建强大、可靠的 Web 应用程序&#xff0c;满足用户的…...

快速学会git版本管理——上传gitee仓库

首先在gitee右上角有一个新建仓库 创建之后打开自己想要上传的文件 右键打开 Git Bash Here 接下来会弹出git的窗口 首先先初始化仓库 用git命令 git init 然后用git add . 上传所有文件上传到暂存区(上一篇文章说过add是单个文件&#xff0c;add . 是所有文件) 没有显示错误 …...

应用在智能洗衣机触摸屏上的电容式触摸芯片

智能型全自动洗衣机可以自动判断水温、水位、衣质衣量、衣物的脏污情况&#xff0c;决定投放适量的洗涤剂和的洗涤程序。当洗衣桶内衣物的多少和质地不同&#xff0c;而注入水使其达到相同的水位时&#xff0c;其总重量是不同的。利用这一点&#xff0c;通过对洗衣电动机低速转…...

npm版本升级报错

解决方法&#xff1a; 执行npm install --legacy-peer-deps依赖对等 npm install xxx --legacy-peer-deps命令用于绕过peerDependency里依赖的自动安装&#xff1b;它告诉npm忽略项目中引入的各个依赖模块之间依赖相同但版本不同的问题&#xff0c;以npm v4-v6的方式去继续执行…...

Vue+Element-ui+SpringBoot搭建后端汽车租赁管理系统

最近在做项目&#xff0c;花了一周的时间搭建了一个十分完备的汽车租赁后端管理系统。页面采用纯Vue2Element-ui搭建&#xff0c;后端采用SpringbootMybatis搭建&#xff0c;数据库采用Mysql。包括了登录验证&#xff0c;根据不同权限进入不同界面、数据增删改查、表格分页、表…...

PKU校园网连接失败

校园网连接失败 连上校园网&#xff0c;显示已经连接但是没有网络&#xff0c;手动输入校园网门户( its.pku.edu.cn )也没有用。 使用 windows自带的疑难解答&#xff0c;分析发现dns解析异常。 解决方案 手动配置IPV4的dns。 同学的电脑可以正常连接dns&#xff0c;将同学…...

STM32存储左右互搏 I2C总线读写FRAM MB85RC16

STM32存储左右互搏 I2C总线读写FRAM MB85RC16 在较低容量存储领域&#xff0c;除了EEPROM的使用&#xff0c;还有铁电存储器FRAM的使用&#xff0c;相对于EEPROM, 同样是非易失性存储单元&#xff0c;FRAM支持更高的访问速度&#xff0c; 其主要优点为没有EEPROM持续写操作跨页…...

【typeof instanceof Object.prototype.toString constructor区别】

几个数据类型判断区别 typeofinstanceofObject.prototype.toStringconstructor typeof 它返回的是一个字符串&#xff0c;表示未经过计算的操作数的类型 typeof(undefined) //"undefined"typeof(null) //"object"typeof(100) //"number"typeof…...

ARM Codec要求

文章目录 前言一、驱动1. linux kernel driver (非V4L2驱动)1.1 porting guide1.2 programing guide1.3 CPU占用率统计1.4 memory使用统计(不包含input/output/working buffer) 2. freeRTOS driver2.1 porting guide&#xff0c;驱动所支持freeRTOS版本列表2.2 programing guid…...

QT多线程

1.QT4.7以前的版本-----线程处理方式 1. 出现的警告 直接使用从UI—>转到槽&#xff0c;就会出现警告 2. 出现的错误 error: invalid operands of types QTimer* and void (QTimer::*)(QTimer::QPrivateSignal) to binary operator& 错误:无效的操作数类型’QTimer…...

【linux命令讲解大全】059.命令行利器:快速执行指定命令的command命令

文章目录 command补充说明语法参数实例 从零学 python command 调用并执行指定的命令。 补充说明 command 命令用于调用指定的命令并执行&#xff0c;命令执行时不查询 shell 函数。command 命令只能执行 shell 内部的命令。 语法 command [参数]参数 指令&#xff1a;需…...

opencv-4.5.2-android-sdk.zip安装教程

opencv-4.5.2-android-sdk.zip&#xff1a; 下载链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;s0p2 导入模块的方法: ①、导入模块 ②、定位到sdk目录 点击ok就行&#xff0c;就导入成功了。导入成功后会多出一个可展开的opencv文件夹(自己命名的),一定要能展…...

接口自动化测试系列-excel管理测试用例

代码源码&#xff1a; 框架结构 核心代码 excel数据处理 from configureUtil.LogUtil import getlog logger getlog(targetNameHandleData) import xlrd from openpyxl import load_workbook,workbook from openpyxl.styles import Font, colors import openpyxl import o…...

Spring——Spring的控制反转IOC

摘要 IoC 不是一种技术&#xff0c;只是一种思想&#xff0c;一个重要的面向对象编程的法则&#xff0c;它能指导我们如何设计出松耦合、更优良的程序。传统应用程序都是由我们在类内部主动创建依赖对象&#xff0c;从而导致类与类之间高耦合&#xff0c;难于测试&#xff1b;…...

基于CentOS7.5构建LVS-DR 群集,并启用Nginx负载均衡,一键完成。

在两台服务器上的步骤&#xff1a; 安装必要软件&#xff1a;在两台服务器上&#xff0c;安装必要的软件&#xff0c;包括ipvsadm和keepalived。使用以下命令安装软件&#xff1a; sudo yum install ipvsadm keepalived -y 禁用防火墙或配置规则&#xff1a;禁用防火墙或根据实…...

redis 数据结构(二)

整数集合 整数集合是 Set 对象的底层实现之一。当一个 Set 对象只包含整数值元素&#xff0c;并且元素数量不时&#xff0c;就会使用整数集这个数据结构作为底层实现。 整数集合结构设计 整数集合本质上是一块连续内存空间&#xff0c;它的结构定义如下&#xff1a; typed…...

Hadoop依赖环境配置与安装部署

目录 什么是Hadoop&#xff1f;一、Hadoop依赖环境配置1.1 设置静态IP地址1.2 重启网络1.3 再克隆两台服务器1.4 修改主机名1.5 安装JDK1.6 配置环境变量1.7 关闭防火墙1.8 服务器之间互传资料1.9 做一个host印射1.10 免密传输 二、Hadoop安装部署2.1 解压hadoop的tar包2.2 切换…...

[C++网络协议] I/O复用

具有代表性的并发服务器端实现模型和方法&#xff1a; 多进程服务器&#xff1a;通过创建多个进程提供服务。 多路复用服务器&#xff1a;通过捆绑并统一管理I/O对象提供服务。✔ 多线程服务器&#xff1a;通过生成与客户端等量的线程提供服务。 目录 1. I/O复用 2. select函…...

3D数据导出工具HOOPS Publish:3D数据查看、生成标准PDF或HTML文档!

HOOPS中文网http://techsoft3d.evget.com/ 一、3D导出SDK HOOPS Publish是一款功能强大的SDK&#xff0c;可以创作丰富的工程数据并将模型文件导出为各种行业标准格式&#xff0c;包括PDF、STEP、JT和3MF。HOOPS Publish核心的3D数据模型是经过ISO认证的PRC格式(ISO 14739-1:…...

[羊城杯 2023] web

文章目录 D0nt pl4y g4m3!!! D0n’t pl4y g4m3!!! 打开题目&#xff0c;可以判断这里为php Development Server 启动的服务 查询得知&#xff0c;存在 PHP<7.4.21 Development Server源码泄露漏洞(参考文章) 抓包&#xff0c;构造payload 得到源码 class Pro{private $ex…...

Redisson—独立节点模式和集群管理工具

一、集群管理工具 Redisson集群管理工具提供了通过程序化的方式&#xff0c;像redis-trib.rb脚本一样方便地管理Redis集群的工具。 1、 创建集群 以下范例展示了如何创建三主三从的Redis集群。 ClusterNodes clusterNodes ClusterNodes.create() .master("127.0.0.1:…...

科技是第一生产力人才是第一资源创新是第一动力判断题/seo推广和百度推广的区别

1. 过程概述 Python先把代码&#xff08;.py文件&#xff09;编译成字节码&#xff0c;交给字节码虚拟机&#xff0c;然后虚拟机一条一条执行字节码指令&#xff0c;从而完成程序的执行。 2. 字节码 字节码在Python虚拟机程序里对应的是PyCodeObject对象。 .pyc文件是字节码在磁…...

大学生做网站怎么赚钱/杭州千锋教育地址

作者很直男&#xff0c;兄弟们直接复制代码看效果吧&#xff01;&#xff01;&#xff01; 一些小细节&#xff0c;大家可以自己动手修改。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"…...

wordpress 禁用谷歌字体 地图/百度服务热线电话

关于单例&#xff0c;从我学Java到现在只知道以下两点&#xff1a; 1.为了让一个类只能有一个实例&#xff0c;所以使用单例的设计模式。 2.有两种实现方法&#xff1a;①饿汉式 ②懒汉式 ①饿汉式简单&#xff0c;是线程安全的。但是在类加载时就创建了一个实例&#xff0c;但…...

做网站的公司上海/竞价运营是做什么的

研发过程中&#xff0c;文档很重要&#xff0c;但更重要的可能是「惯性思维」 开发到底要不要写文档&#xff08;注释&#xff09;&#xff0c;要写多少文档&#xff0c;要怎么写文档&#xff0c;想必在大家工作的各个阶段都会有不同的体会&#xff0c;不同人也会有不同的意见。…...

网站开发哪里安全/友情链接教程

View类使所有UI组件的基类&#xff0c;它包含的XML属性和方法是所有组件都可使用的&#xff0c;View类的XML属性、相关方法及说明如表&#xff1a; 原文链接&#xff1a;http://blog.csdn.net/yelangjueqi/article/details/42290987 内容摘自《疯狂Android讲义》一书。...

做b2c网站/seo 页面链接优化

题目描述 &#xff08;试题来源&#xff1a;Link &#xff09; 司令部的将军们打算在 \(N\times M\) 的网格地图上部署他们的炮兵部队。一个 \(N\times M\) 的地图由 \(N\) 行 \(M\) 列组成&#xff0c;地图的每一格可能是山地&#xff08;用 H 表示&#xff09;&#xff0c;也…...