系统学习Linux-Redis基础
一、redis概述
NoSQL(非关系型数据库、内存存储)
类型
文档型数据库(Document-oriented database)如MongoDB;
列族数据库(Column-family database)如HBase、Cassandra等;
图形数据库(Graph database)如Neo4j、ArangoDB等;
键值对数据库(Key-value database)如Redis、Memcached等;
对象数据库(Object-oriented database)如db4o等。
应用场景
缓存:Redis最常用的应用场景就是缓存,它可以缓存各种类型的数据,如数据库查询结果、API返回结果等,以提高应用程序的响应速度和并发性能。
分布式锁:Redis的分布式锁可以确保在分布式系统中对某个资源的互斥访问,避免多个节点出现并发操作的问题。
计数器:Redis支持对计数器的操作,能够方便地实现各种计数器的功能,如网站访问次数计数、订单数量计数等。
会话管理:Redis可以用来管理会话信息,实现会话的状态存储和共享,避免了单点故障的问题。
消息队列:Redis支持发布订阅模式,可以作为一个轻量级的消息队列使用,实现异步消息处理和任务派发等功能。
Redis(远程字典服务)
监听端口号:6379
全称:Remote Dictionary Server
内存存储、持久化、键值对存储
官网:Redis中文网
数据类型:字符串(string)、哈希值(hash)、列表(list)、集合(set)、位图(bitmap)
二、安装方式
编译安装
wget http://download.redis.io/releases/redis-5.0.8.tar.gz
解压进入目录后
make && make install
修改配置文件redis.conf
# no 表示关闭保护模式
protected-mode no
# yes表示以守护进程的方式运行(会占用一个终端)
daemonize yes
启动Redis命令:./src/redis-server
[root@localhost redis-5.0.8]# ./src/redis-server
8123:C 08 Aug 2023 14:50:08.278 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
8123:C 08 Aug 2023 14:50:08.278 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=8123, just started
8123:C 08 Aug 2023 14:50:08.278 # Warning: no config file specified, using the default config. In order to specify a config file use ./src/redis-server /path/to/redis.conf
8123:M 08 Aug 2023 14:50:08.279 * Increased maximum number of open files to 10032 (it was originally set to 1024)._._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 5.0.8 (00000000/0) 64 bit.-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379| `-._ `._ / _.-' | PID: 8123`-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' 8123:M 08 Aug 2023 14:50:08.279 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
8123:M 08 Aug 2023 14:50:08.279 # Server initialized
8123:M 08 Aug 2023 14:50:08.279 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
8123:M 08 Aug 2023 14:50:08.279 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
8123:M 08 Aug 2023 14:50:08.279 * Ready to accept connections
后台启动redis命令:nohup ./src/redis-server &
查看进程:ps -ef | grep redis
[root@localhost redis-5.0.8]# nohup ./src/redis-server &
[1] 8153
nohup: 忽略输入并把输出追加到"nohup.out"
[root@localhost redis-5.0.8]# ps -ef | grep redis
root 8153 3688 0 14:52 pts/0 00:00:00 ./src/redis-server *:6379
root 8168 3688 0 14:52 pts/0 00:00:00 grep --color=auto redis
[root@localhost redis-5.0.8]#
进入redis数据库
[root@localhost redis-5.0.8]# ./src/redis-cli查看所有键
语法错误需要加s
127.0.0.1:6379> key *
'(error) ERR unknown command `key`, with args beginning with: `*`,
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379>
select切换数据库
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> keys *
(empty list or set)
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> keys *
1) "zhangsan"
设置键值对
127.0.0.1:6379> set key value [expiration EX seconds|PX milliseconds] [NX|XX]
设置键zhangsan 值为123
get 取出/查看键对 键不存在则返回空
127.0.0.1:6379> set zhangsan 123
OK
127.0.0.1:6379> keys *
1) "zhangsan"
127.0.0.1:6379> get zhangsan
"123"
删除键值对
del key
127.0.0.1:6379> keys *
1) "zhangsan"
127.0.0.1:6379> del zhangsan
(integer) 1
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379>
rename 重命名键名称 rename oldkey newkey
不论更名后的键是否存在都会覆盖原有键,并将改名前的键的值富裕改名后的键
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set zhangsan 123
OK
127.0.0.1:6379> rename zhangsan lisi
OK
127.0.0.1:6379> keys *
1) "lisi"
127.0.0.1:6379> get lisi
"123"
127.0.0.1:6379> set wangwu 456
OK
127.0.0.1:6379> keys *
1) "wangwu"
2) "lisi"
127.0.0.1:6379> rename lisi wangwu
OK
127.0.0.1:6379> get wangwu
"123"
127.0.0.1:6379>
renamenx 重命名键名称
假如改名后键名称存在则更改不成功
renamenx oldkey newkey
127.0.0.1:6379> keys *
1) "wangwu"
2) "lisi"
127.0.0.1:6379> renamenx lisi wangwu
(integer) 0
move 移动键值对到指定数据库
假如目标数据库中存在同名键则移动失败
127.0.0.1:6379> move lisi 1
(integer) 1
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> keys *
1) "lisi"
ttl 查看键值对的生命周期
ttl key
-1 永久 -2 已过期
expire 设置键值对的存储周期
expire key seconds
lisi为永久
127.0.0.1:6379[1]> ttl lisi
(integer) -1设置lisi 180秒后过期
127.0.0.1:6379[1]> expire lisi 180
(integer) 1
查看过期时间 还有67秒过期
127.0.0.1:6379[1]> ttl lisi
(integer) 67
已过期
127.0.0.1:6379[1]> ttl lisi
(integer) -2
rpm源码安装
安装epel源如果没有去官网下载
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm
yum install -y epel-release
yum install -y redis
下载epel源
[root@localhost ~]# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm
\--2023-08-08 18:53:49-- http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm
正在解析主机 dl.fedoraproject.org (dl.fedoraproject.org)... 38.145.60.23, 38.145.60.24, 38.145.60.22
正在连接 dl.fedoraproject.org (dl.fedoraproject.org)|38.145.60.23|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:15608 (15K) [application/x-rpm]
正在保存至: “epel-release-7-14.noarch.rpm”100%[======================================>] 15,608 50.6KB/s 用时 0.3s 2023-08-08 18:53:50 (50.6 KB/s) - 已保存 “epel-release-7-14.noarch.rpm” [15608/15608])[root@localhost ~]# ls
epel-release-7-14.noarch.rpm 下载完后安装
[root@localhost ~]# yum install epel-release-7-14.noarch.rpm -y
已加载插件:fastestmirror, langpacks
正在检查 epel-release-7-14.noarch.rpm: epel-release-7-14.noarch
epel-release-7-14.noarch.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 epel-release.noarch.0.7-14 将被 安装
--> 解决依赖关系完成
local | 3.6 kB 00:00 依赖关系解决================================================================================Package 架构 版本 源 大小
================================================================================
正在安装:epel-release noarch 7-14 /epel-release-7-14.noarch 25 k事务概要
================================================================================
安装 1 软件包总计:25 k
安装大小:25 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安装 : epel-release-7-14.noarch 1/1 验证中 : epel-release-7-14.noarch 1/1 已安装:epel-release.noarch 0:7-14 完毕!安装redis
[root@localhost ~]# yum install -y redis
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
epel/x86_64/metalink | 6.1 kB 00:00 * epel: mirrors.bfsu.edu.cn
epel | 4.7 kB 00:00
local | 3.6 kB 00:00
(1/3): epel/x86_64/group_gz | 99 kB 00:00
epel/x86_64/updateinfo FAILED
https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/repodata/43fd207679e4a5a870ce853bffb53fdcc2a8d73fb85ba1d9bad7db2c8a7e723b-updateinfo.xml.bz2: [Errno 14] HTTPS Error 404 - Not Found
正在尝试其它镜像。
To address this issue please refer to the below wiki article https://wiki.centos.org/yum-errorsIf above article doesn't help to resolve this issue please use https://bugs.centos.org/.epel/x86_64/primary_db FAILED
https://mirrors.cqu.edu.cn/epel/7/x86_64/repodata/d05e409278f3f3af0c829c7f2aff0a194f152a4b4c1cd50b584005193ea1f777-primary.sqlite.bz2: [Errno 14] HTTPS Error 404 - Not Found
正在尝试其它镜像。
(2/3): epel/x86_64/updateinfo | 1.0 MB 00:00
epel/x86_64/primary_db FAILED
https://ftp.riken.jp/Linux/fedora/epel/7/x86_64/repodata/d05e409278f3f3af0c829c7f2aff0a194f152a4b4c1cd50b584005193ea1f777-primary.sqlite.bz2: [Errno 14] HTTPS Error 404 - Not Found
正在尝试其它镜像。
(3/3): epel/x86_64/primary_db | 7.0 MB 00:00
正在解决依赖关系
--> 正在检查事务
---> 软件包 redis.x86_64.0.3.2.12-2.el7 将被 安装
--> 正在处理依赖关系 libjemalloc.so.1()(64bit),它被软件包 redis-3.2.12-2.el7.x86_64 需要
--> 正在检查事务
---> 软件包 jemalloc.x86_64.0.3.6.0-1.el7 将被 安装
--> 解决依赖关系完成依赖关系解决================================================================================Package 架构 版本 源 大小
================================================================================
正在安装:redis x86_64 3.2.12-2.el7 epel 544 k
为依赖而安装:jemalloc x86_64 3.6.0-1.el7 epel 105 k事务概要
================================================================================
安装 1 软件包 (+1 依赖软件包)总下载量:648 k
安装大小:1.7 M
Downloading packages:
警告:/var/cache/yum/x86_64/7/epel/packages/jemalloc-3.6.0-1.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 352c64e5: NOKEY
jemalloc-3.6.0-1.el7.x86_64.rpm 的公钥尚未安装
(1/2): jemalloc-3.6.0-1.el7.x86_64.rpm | 105 kB 00:00
(2/2): redis-3.2.12-2.el7.x86_64.rpm | 544 kB 00:00
--------------------------------------------------------------------------------
总计 1.7 MB/s | 648 kB 00:00
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 检索密钥
导入 GPG key 0x352C64E5:用户ID : "Fedora EPEL (7) <epel@fedoraproject.org>"指纹 : 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5软件包 : epel-release-7-14.noarch (@/epel-release-7-14.noarch)来自 : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安装 : jemalloc-3.6.0-1.el7.x86_64 1/2 正在安装 : redis-3.2.12-2.el7.x86_64 2/2 验证中 : redis-3.2.12-2.el7.x86_64 1/2 验证中 : jemalloc-3.6.0-1.el7.x86_64 2/2 已安装:redis.x86_64 0:3.2.12-2.el7 作为依赖被安装:jemalloc.x86_64 0:3.6.0-1.el7 完毕!
启动redis默认监听127.0.0.1地址
[root@localhost ~]# systemctl start redis
[root@localhost ~]# netstat -anptu | grep redis
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 64355/redis-server
[root@localhost ~]#
目录结构 | |||
/etc/redis.conf | 主配置文件 | bind 127.0.0.1 | 修改监听地址 |
port 6379 | 修改监听端口号 | ||
pidfile | 指定通过该配置文件启动 reids进程后的PID文件名称 | ||
loglevel | 定义日志级别 | ||
logfile | 定义日志存储路径 | ||
databases | 指定默认数据库数量 | ||
save | 定义单位时间内key的改变次数 | ||
dbfilename | 定义存储RDB持久化数据的文件名称 | ||
dir | 定义RDB与AOF文件的存储目录 | ||
appendonly | AOF的启停 | ||
appendfilename | 定义AOF持久化文件的名称 | ||
appendfsync | 定义AOF数据同步间隔 | ||
requirepass | 设置登录redis的密码 | ||
/var/lib/redis | 持久化文件存储目录 | ||
/var/log/redis | 日志文件存储目录 | ||
/var/run/redis | PID文件存储目录 |
命令解析 | |||
redis-server | redis启动命令 | ||
redis-cli | redis登陆命令 | -h | redis服务器IP |
-p | 指定访问端口号 | ||
-a | 指定登录密码 | ||
-n | 指定数据库编号 | ||
redis-check-rdb | 检查RDB文件 | ||
redis-check-aof | 检查AOF文件 |
redis登陆更改 | |||
问题 | 更改完port后,systemctl启动redis异常 | ||
解决办法 | 使用redis-server /etc/redis.conf | ||
若要redis后台运需修改配置文件 daemonize yes |
本地登陆
监听本地网卡地址
redis-cli -h ip -p 端口号
三、Redis持久化
/var/lib/redis/
RDB模式
默认持久化
dump.rdb 数据库启动时会读取
触发条件
redis进程退出(宕机、redis程序崩溃)
手动保存(触发RDB)save
AOF模式
默认关闭
appendonly.aof 默认进程启动时读取
开启 appendonly yes
可以与RDB同时使用
相关文章:

系统学习Linux-Redis基础
一、redis概述 NoSQL(非关系型数据库、内存存储) 类型 文档型数据库(Document-oriented database)如MongoDB; 列族数据库(Column-family database)如HBase、Cassandra等; 图形数…...
实现缓存el-table分页大小,用户新建标签打开该页面需保持分页大小(考虑是否为嵌入式页面)
需求:每个表格的分页大小 以本地缓存的方式存到浏览器本地,然后用户下次打开的时候 获取这个本地存储的值 如果没有就用页面默认的值,如果有 则先判断是不是有效的(是) 无效用默认 有效就用这个缓存值,需要区分是否为嵌入式页面 分析…...

056B R包ENMeval教程-基于R包ENMeval对MaxEnt模型优化调参和结果评价制图(更新)
056B-1 资料下载 056B-2 R包ENMeval在MaxEnt模型优化调参中的经典案例解读 056B-3 R软件和R包ENMeval工具包安装 056B-4 R软件和R包ENMeval安装报错解决办法 056B-5 环境数据格式要求和处理流程 056B-6 分布数据格式要求和处理流程 056B-7 基于R包ENMeval对MaxEnt模型优化…...

MySQL_数据库的DDL语句(表的创建与修改)
DDL 数据库操作 查看当前有哪些数据库 SHOW databases;#查看哪些数据库查询当前数据库 SELECT database();创建数据库 create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序 规则 ] ;创建一个sycoder数据库, 使用数据库默认的字符集 CREATE…...
常见面试题:字节序判别和转换
在计算机中,字节序指的是多字节数据的存储顺序。最常见的字节序有两种:大端字节序(Big-Endian)和小端字节序(Little-Endian)。 大端字节序是指最高有效位(Most Significant Bit,简称…...
Maxwell与canal工具对比
Maxwell和Canal是两种不同的数据同步工具,都是在数据迁移、数据同步、数据分发等领域发挥作用的工具,但是它们之间存在一些差异。 Maxwell Maxwell是一种开源的MySQL数据库同步工具,它可以将MySQL数据库的binlog转化为JSON格式,…...
SpringBoot——如何运行Python脚本并返回数据
文章目录 运行python脚本并输出如何输入参数 运行python脚本并输出 要让Python脚本返回数据给调用它的Java代码,你可以在Python脚本中使用打印或输出函数将结果输出到标准输出(stdout)中。 以下是一个示例,在Python脚本中返回数…...

在生产环境中部署Elasticsearch:最佳实践和故障排除技巧———索引与数据上传(二)
前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄ÿ…...

R语言初学者书籍推荐
Home | Bookdown 这个网站上有很多R语言的书籍,并且一直在更新,阅读起来没有难度。 今天搜索材料的时候,检索到下面这本书: 有输入,才会有输出。...
Taro+Vue3,点击按钮把另一个页面分享出去
useShareAppMessage 监听用户点击页面内转发按钮(Button 组件 openTypeshare)或右上角菜单“转发”按钮的行为,并自定义转发内容。等同于 onShareAppMessage 页面生命周期钩子。 使用时,必须为页面配置 enableShareAppMessage…...
CSS基础:学习CSS样式的基本语法和应用,了解如何美化网页。
CSS(层叠样式表)是一种用于描述网页上元素(例如文字、图像、背景等)外观和布局的样式语言。通过使用CSS,您可以控制和改变网页的外观,使其更具吸引力和易于使用。 下面是一些CSS基础知识和常用的语法&#…...

MySQL语句总和之表数据操作(增删改查)
目录 1、增加 insert into 表 (字段1, 字段3, 字段5) values(value1, value2, value3) insert into 表 [(字段1, 字段2, 字段3....)] values(value1, value2,value3.....)[,(value1, value2, value3....) .....] i…...

HDFS中snapshot快照机制
HDFS中snapshot快照机制 介绍作用功能实现相关命令和操作相关命令 介绍 snapshot是数据存储的某一时刻的状态记录,备份(backup)则是数据存储的某一个时刻的副本HDFS snapshot快照是整个文件系统或某个目录在某个时刻的镜像,该镜像…...

YOLOv5基础知识入门(5)— 损失函数(IoU、GIoU、DIoU、CIoU和EIoU)
前言:Hello大家好,我是小哥谈。使用YOLOv5训练模型阶段,需要用到损失函数。损失函数是用来衡量模型预测值和真实值不一样的程度,极大程度上决定了模型的性能。本节就给大家介绍IoU系列损失函数,希望大家学习之后能够有…...

Centos7源码安装redis
1、下载redis Index of /releases/ 2、解压redis tar -xvf redis-6.2.9.tar.gz 3、进入解压后的目录 cd redis-6.2.9/4、指定内存分配器为 libc make MALLOClibc 5、进入src目录,安装 cd src && make install6、运行 ./redis-server 7、添加开机…...

[静态时序分析简明教程(九)]多周期路径set_multicycle_path
静态时序分析简明教程-多周期路径 一、写在前面1.1 快速导航链接 二、多周期路径2.1 多周期路径的SDC命令2.2 路径常规约束2.3 建立/保持规格2.4 位移量2.5 多时钟周期案例 三、总结 一、写在前面 一个数字芯片工程师的核心竞争力是什么?不同的工程师可能给出不同的…...
Unity学习笔记--使用 C# 开发一个 LRU
目录 什么是 LRULRU 核心思想代码实现一:双向链表 哈希表分析代码实现二:OrderedDictionary分析项目案例预告结尾 什么是 LRU 在计算机系统中,LRU(Least Recently Used,最近最少使用)是一种缓存置换算法。…...

【一】初步认识数据库
数据库概览数据库 缘起表(Table)的理解用表来定义数据库数据库系统的理解概念层次的理解实例层次的理解 数据库管理系统的理解从用户角度看从系统实现角度看典型的数据库管理系统 数据库语言数据库定义、操纵、控制语言数据库语言 VS 高级语言 内容回顾练习 数据库概览 走马观…...
HTML <section> 标签
实例 文档中的区段,解释了 PRC: <section><h1>PRC</h1><p>The Peoples Republic of China was born in 1949...</p> </section>定义和用法 <section> 标签定义文档中的节(section、区段&#x…...

PHP 之房贷计算器、组合贷
一、等额本金 // (等额本金) //$loanAmount>贷款金额 //$loanPeriod>贷款年限 //$interestRate>贷款利息 function calculateEqualPrincipalPayment($loanAmount, $loanPeriod, $interestRate) {$monthlyPrincipal $loanAmount / ($loanPerio…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...

CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...

多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...