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

redis之集群

一.redis主从模式和redis集群模式的区别

redis主从模式:所有节点上的数据一致,但是key过多会影响性能

redis集群模式:将数据分散到多个redis节点,数据分片存储,提高了redis的吞吐量

二.redis cluster集群的特点

数据分片        多个存储入口        故障自动切换

三.redis数据存储机制

通过哈希算法将数据存储到集群中的卡槽中

四.redis cluster集群规划
三主: 192.168.145.142:7000        192.168.145.159:7001        192.168.145.160:7002
三从: 192.168.145.142:8000           192.168.145.159:8001            192.168.145.160:8002
三从保证主有问题时,及时切换
 

192.168.145.142端配置:

#创建配置文件目录
mkdir -p /data/cluster/7000
mkdir -p /data/cluster/8000
#创建配置文件......其余5个主机配置,配置文件修改端口和目录即可,其余参数一样
vim /data/cluster/7000/redis.conf
cluster-enabled yes
port 7000
dir "/data/cluster/7000" 
logfile "redis.log"
pidfile "redis.pid"
daemonize yes
bind 0.0.0.0
requirepass redispwd
masterauth redispwd
tcp-backlog 511 
tcp-keepalive 300
loglevel notice
stop-writes-on-bgsave-error yes 
rdbcompression yes
rdbchecksum yes
save 900 1
save 300 10
save 60 10000
dbfilename "dump.rdb"
slave-serve-stale-data yes  
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
appendonly yes  
appendfilename "appendonly.aof"  
appendfsync everysec
no-appendfsync-on-rewrite no  
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events g$  
hash-max-ziplist-entries 512  
hash-max-ziplist-value 64  
list-max-ziplist-entries 512  
list-max-ziplist-value 64  
set-max-intset-entries 512  
zset-max-ziplist-entries 128  
zset-max-ziplist-value 64  
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0  
client-output-buffer-limit slave 256mb 64mb 60  
client-output-buffer-limit pubsub 32mb 8mb 60  
hz 10
aof-rewrite-incremental-fsync yes启动主redis:
redis-server /data/cluster/7000/redis.conf
[root@bogon ~]# ps -ef | grep redis
root        3522       1  0 22:45 ?        00:00:00 redis-server 0.0.0.0:7000 [cluster]
root        3534    3181  0 22:51 pts/1    00:00:00 grep --color=auto redis创建3个主集群,任意一端操作均可:
redis-cli -a redispwd --cluster create 192.168.145.142:7000 192.168.145.159:7001 192.168.145.160:7002
redis-cli -a redispwd --cluster create 192.168.145.142:7000 192.168.145.160:7001 192.168.145.161:7002查看集群信息:
[root@bogon ~]#redis-cli -a redispwd -p 7000 cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:3
cluster_size:3
cluster_current_epoch:3
cluster_my_epoch:1
cluster_stats_messages_ping_sent:588
cluster_stats_messages_pong_sent:560
cluster_stats_messages_sent:1148
cluster_stats_messages_ping_received:558
cluster_stats_messages_pong_received:588
cluster_stats_messages_meet_received:2
cluster_stats_messages_received:1148[root@bogon ~]#redis-cli -a redispwd -p 7000 cluster nodes
c63dfc9a880d9b2d48864b8690797fe75ec8e173 192.168.145.160:7002@17002 master - 0 1714490094021 3 connected 10923-16383
7fbae96055629879bfce1f2ea6419e882e84cf75 192.168.145.142:7000@17000 myself,master - 0 0 1 connected 0-5460
b7b7c09a232814774a259ae24aeeb8bbacaf6db6 192.168.145.159:7001@17001 master - 0 1714490092968 2 connected 5461-10922在任意一个节点,向集群中写入数据:
[root@bogon ~]# redis-cli -p 7000 -a redispwd -c  #-c以及群的方式写入
127.0.0.1:7000> set k1 v1	#发现数据被写入了192.168.145.160:7002
-> Redirected to slot [12706] located at 192.168.145.160:7002
OK
192.168.145.160:7002> set k2 v2		#再次写入的数据被存储到了192.168.145.142:7000,可以看出数据是分布式存储的
-> Redirected to slot [449] located at 192.168.145.142:7000
OK查看存储的数据:
只能在对应的节点上查看对应的数据
[root@bogon ~]# redis-cli -p 7000 -a redispwd -c
127.0.0.1:7000> set k1 v1
-> Redirected to slot [12706] located at 192.168.145.160:7002   #7000端口生成的7002端口的数据
OK
[root@bogon ~]# redis-cli -p 7002 -a redispwd -c  #登录7002端查看数据
127.0.0.1:7002> get k1
"v1"搭建3个从集群,实现redis的高可用:
启动从redis:
[root@bogon ~]# redis-server /data/cluster/8000/redis.conf
[root@bogon ~]# ps -ef | grep redis
root        3522       1  0 Apr30 ?        00:00:09 redis-server 0.0.0.0:7000 [cluster]
root        3764       1  0 00:03 ?        00:00:00 redis-server 0.0.0.0:8000 [cluster]
root        3771    3181  0 00:08 pts/1    00:00:00 grep --color=auto redis在任意一个节点向3个主节点添加从库:
#查看集群各个节点的master id  
[root@bogon ~]# redis-cli -a redispwd -p 7000 cluster nodes7000的master id                                                          从节点                         主节点
[root@bogon ~]# redis-cli -a redispwd --cluster add-node --cluster-slave --cluster-master-id 7fbae96055629879bfce1f2ea6419e882e84cf75 192.168.145.159:8001 192.168.145.142:7000
[root@bogon ~]# redis-cli -a redispwd --cluster add-node --cluster-slave --cluster-master-id b7b7c09a232814774a259ae24aeeb8bbacaf6db6 192.168.145.160:8002 192.168.145.159:7001
[root@bogon ~]# redis-cli -a redispwd --cluster add-node --cluster-slave --cluster-master-id c63dfc9a880d9b2d48864b8690797fe75ec8e173 192.168.145.142:8000 192.168.145.160:7002加入节点后,查看角色:
[root@bogon ~]# redis-cli -a redispwd -p 7000 cluster nodes
1d267c8598fa178c5aa594a7151ff7c49e271b45 192.168.145.142:8000@18000 slave c63dfc9a880d9b2d48864b8690797fe75ec8e173 0 1714495446733 3 connected
f04dfb05f6f2bd0d6f426d8f405633c53d26d978 192.168.145.160:8002@18002 slave b7b7c09a232814774a259ae24aeeb8bbacaf6db6 0 1714495448194 2 connected
473bf9546b864d493c45a453d1d34e07bc642958 192.168.145.159:8001@18001 slave 7fbae96055629879bfce1f2ea6419e882e84cf75 0 1714495450251 1 connected
7fbae96055629879bfce1f2ea6419e882e84cf75 192.168.145.142:7000@17000 myself,master - 0 1714495449000 1 connected 0-5460
b7b7c09a232814774a259ae24aeeb8bbacaf6db6 192.168.145.159:7001@17001 master - 0 1714495451296 2 connected 5461-10922
c63dfc9a880d9b2d48864b8690797fe75ec8e173 192.168.145.160:7002@17002 master - 0 1714495452324 3 connected 10923-16383
发现出现了3主3从在任意一端,验证cluster集群的高可用:停掉7000的主库,查看8001是否提升为主库:
[root@bogon ~]# ps -ef | grep redis
root        3522       1  0 Apr30 ?        00:00:16 redis-server 0.0.0.0:7000 [cluster]
root        3764       1  0 00:03 ?        00:00:06 redis-server 0.0.0.0:8000 [cluster]
root        3927    3181  0 01:02 pts/1    00:00:00 grep --color=auto redis
[root@bogon ~]# kill -9 3522
[root@bogon ~]# ps -ef | grep redis
root        3764       1  0 00:03 ?        00:00:06 redis-server 0.0.0.0:8000 [cluster]
root        3929    3181  0 01:03 pts/1    00:00:00 grep --color=auto redis以8000的redis为入口,查看角色变化:
[root@bogon ~]# redis-cli -a redispwd -p 8000 cluster nodes
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
b7b7c09a232814774a259ae24aeeb8bbacaf6db6 192.168.145.159:7001@17001 master - 0 1714496715467 2 connected 5461-10922
f04dfb05f6f2bd0d6f426d8f405633c53d26d978 192.168.145.160:8002@18002 slave b7b7c09a232814774a259ae24aeeb8bbacaf6db6 0 1714496718560 2 connected
c63dfc9a880d9b2d48864b8690797fe75ec8e173 192.168.145.160:7002@17002 master - 0 1714496717531 3 connected 10923-16383
1d267c8598fa178c5aa594a7151ff7c49e271b45 192.168.145.142:8000@18000 myself,slave c63dfc9a880d9b2d48864b8690797fe75ec8e173 0 1714496573000 3 connected
7fbae96055629879bfce1f2ea6419e882e84cf75 192.168.145.142:7000@17000 master,fail - 1714496585074 1714496577517 1 disconnected
473bf9546b864d493c45a453d1d34e07bc642958 192.168.145.159:8001@18001 master - 0 1714496716504 4 connected 0-5460
发现了8001提升为了主库恢复redis的7000入口:
[root@bogon ~]# redis-cli -a redispwd -p 7000 cluster nodes
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
1d267c8598fa178c5aa594a7151ff7c49e271b45 192.168.145.142:8000@18000 slave c63dfc9a880d9b2d48864b8690797fe75ec8e173 0 1714497284618 3 connected
c63dfc9a880d9b2d48864b8690797fe75ec8e173 192.168.145.160:7002@17002 master - 0 1714497281543 3 connected 10923-16383
b7b7c09a232814774a259ae24aeeb8bbacaf6db6 192.168.145.159:7001@17001 master - 0 1714497283596 2 connected 5461-10922
f04dfb05f6f2bd0d6f426d8f405633c53d26d978 192.168.145.160:8002@18002 slave b7b7c09a232814774a259ae24aeeb8bbacaf6db6 0 1714497282573 2 connected
473bf9546b864d493c45a453d1d34e07bc642958 192.168.145.159:8001@18001 master - 0 1714497280513 4 connected 0-5460
7fbae96055629879bfce1f2ea6419e882e84cf75 192.168.145.142:7000@17000 myself,slave 473bf9546b864d493c45a453d1d34e07bc642958 0 1714497277000 4 connected
发现自动转换成了从角色使恢复redis的7000再次作为主角色:
[root@bogon ~]# redis-cli -p 7000 -a redispwd -c
127.0.0.1:7000> cluster failover
OK
127.0.0.1:7000> info   #转换成了主角色
# Replication
role:master
connected_slaves:1

192.168.145.159端配置:

#创建配置文件目录
mkdir -p /data/cluster/7001
mkdir -p /data/cluster/8001
#创建配置文件
同上,修改端口和目录即可启动主redis:
redis-server /data/cluster/7001/redis.conf
[root@bogon ~]# ps -ef | grep redis
root        3522       1  0 22:45 ?        00:00:00 redis-server 0.0.0.0:7000 [cluster]
root        3534    3181  0 22:51 pts/1    00:00:00 grep --color=auto redis查看集群信息:
同上搭建3个从集群,实现redis的高可用:
启动从redis:
[root@bogon ~]# redis-server /data/cluster/8001/redis.conf
[root@bogon ~]# ps -ef | grep redis
root        3522       1  0 Apr30 ?        00:00:09 redis-server 0.0.0.0:7000 [cluster]
root        3764       1  0 00:03 ?        00:00:00 redis-server 0.0.0.0:8000 [cluster]
root        3771    3181  0 00:08 pts/1    00:00:00 grep --color=auto redis

192.168.145.160端配置:

#创建配置文件目录
mkdir -p /data/cluster/7002
mkdir -p /data/cluster/8002
#创建配置文件
同上,修改端口和目录即可启动主redis:
redis-server /data/cluster/7002/redis.conf
[root@bogon ~]# ps -ef | grep redis
root        3522       1  0 22:45 ?        00:00:00 redis-server 0.0.0.0:7000 [cluster]
root        3534    3181  0 22:51 pts/1    00:00:00 grep --color=auto redis查看集群信息:
同上搭建3个从集群,实现redis的高可用:
启动从redis:
[root@bogon ~]# redis-server /data/cluster/8002/redis.conf
[root@bogon ~]# ps -ef | grep redis
root        3522       1  0 Apr30 ?        00:00:09 redis-server 0.0.0.0:7000 [cluster]
root        3764       1  0 00:03 ?        00:00:00 redis-server 0.0.0.0:8000 [cluster]
root        3771    3181  0 00:08 pts/1    00:00:00 grep --color=auto redis

相关文章:

redis之集群

一.redis主从模式和redis集群模式的区别 redis主从模式:所有节点上的数据一致,但是key过多会影响性能 redis集群模式:将数据分散到多个redis节点,数据分片存储,提高了redis的吞吐量 二.redis cluster集群的特点 数据分片 多个存储入…...

#9松桑前端后花园周刊-React19beta、TS5.5beta、Node22.1.0、const滥用、jsDelivr、douyin-vue

行业动态 Mozilla 提供 Firefox 的 ARM64 Linux二进制文件 此前一直由发行版开发者或其他第三方提供,目前Mozilla提供了nightly版本,正式版仍需要全面测试后再推出。 发布 React 19 Beta 此测试版用于为 React 19 做准备的库。React团队概述React 19…...

STM32中UART通信的完整C语言代码范例

UART(通用异步收发器)是STM32微控制器中常用的外设,用于与其他设备进行串行通信。本文将提供一个完整的C语言代码范例,演示如何在STM32中使用UART进行数据传输。 硬件配置 在开始编写代码之前,需要确保以下硬件配置&…...

【ITK统计】第一期 分类器

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享ITK中的分类器及其使用情况,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 在统计分…...

51单片机两个中断及中断嵌套

文章目录 前言一、中断嵌套是什么?二、两个同级别中断2.1 中断运行关系2.2 测试程序 三、两个不同级别中断实现中断嵌套3.1 中断运行关系3.2 测试程序 总结 前言 提示:这里可以添加本文要记录的大概内容: 课程需要: 提示&#x…...

VUE 监视数据原理

1、如何监测对象中的数据? 通过setter实现监视,且要在new vue时就传入监测的数据 (1)对象中后加的属性,vue默认不做响应式处理 (2)如需给后添加的属性做响应式,请使用如下API&#x…...

Thinkphp使用dd()函数

用过Laravel框架的同学都知道在调试代码的时候使用dd()函数打印变量非常方便,在ThinkPHP6及以上的版本框架中也默认加上了这个函数。但是在ThinkPHP5或更低版本的框架中,dd 并不是一个内置的方法,不过我们可以手动添加这个函数,步…...

Git使用指北

目录 创建一个Git仓库本地仓库添加文件文件提交到本地仓库缓冲区添加远程仓库地址本地仓库推送到远程仓库创建新的分支拉取代码同步删除缓冲区的文件,远程仓库的文件.gitignore文件 创建一个Git仓库 Git仓库分为远程和本地两种,远程仓库如Githu上创建的…...

STM32G030F6P6TR 芯片TSSOP20 MCU单片机微控制器芯片

STM32G030F6P6TR 在物联网(IoT)设备中的典型应用案例包括但不限于以下几个方面: 1. 环境监测系统: 使用传感器来监测温度、湿度、气压等环境因素,并通过无线通信模块将数据发送到中央服务器或云端平台进行分析和监控。…...

零基础入门学习Python第二阶01生成式(推导式),数据结构

Python语言进阶 重要知识点 生成式(推导式)的用法 prices {AAPL: 191.88,GOOG: 1186.96,IBM: 149.24,ORCL: 48.44,ACN: 166.89,FB: 208.09,SYMC: 21.29}# 用股票价格大于100元的股票构造一个新的字典prices2 {key: value for key, value in prices.i…...

Java面试题:多线程3

CAS Compare and Swap(比较再交换) 体现了一种乐观锁的思想,在无锁情况下保证线程操作共享数据的原子性. 线程A和线程B对主内存中的变量c同时进行修改 在线程A中存在预期值a,修改后的更新值a1 在线程B中存在预期值b,修改后的更新值b1 当且仅当预期值和主内存中的变量值相等…...

【QEMU系统分析之实例篇(十八)】

系列文章目录 第十八章 QEMU系统仿真的机器创建分析实例 文章目录 系列文章目录第十八章 QEMU系统仿真的机器创建分析实例 前言一、QEMU是什么?二、QEMU系统仿真的机器创建分析实例1.系统仿真的命令行参数2.创建后期后端驱动qemu_create_late_backends()qtest_serv…...

pyside6的调色板QPalette的简单应用

使用调色板需要先导入:from PySide6.QtGui import QPalette 调色板QPalette的源代码: class QPalette(Shiboken.Object):class ColorGroup(enum.Enum):Active : QPalette.ColorGroup ... # 0x0Normal : QPalette.ColorGrou…...

苍穹外卖项目

Day01 收获 补习git Git学习之路-CSDN博客 nginx 作用:反向代理和负载均衡 swagger Swagger 与 Yapi Swagger: 可以自动的帮助开发人员生成接口文档,并对接口进行测试。 项目接口文档网址: http://localhost:8080/doc.html Da…...

error: Execution was interrupted, reason: signal SIGABRT

c json解析时&#xff0c; error: Execution was interrupted, reason: signal SIGABRT const Json::Value points root["shapes"]; if (points.isArray()) { for (unsigned int i 0; i < points.size(); i) { std::cout << " - [" <<…...

HarmaonyOS鸿蒙应用科普课

一、什么是鸿蒙OS&#xff1f; 1.概念&#xff1a; 先给大家讲讲今天讲课的主题&#xff0c;鸿蒙OS是什么&#xff1f;鸿蒙系统大家都知道&#xff0c;就是一个操作系统&#xff0c;我们未来是为的成为鸿蒙程序员。所以我们不要将鸿蒙os完全等同于手机操作系统&#xff0c;太…...

数码管的显示

静态数码管显示 数码管有两种一种的负电压促发,一种是正电压促发,上图是单数码管的引脚 上图是数码管模组的引脚,采用了引脚复用技术 咱们这个单片机由8个单数码管,所以要用上38译码器,如下图 74138使能端,单片机上电直接就默认接通了 74HC245的作用是稳定输入输出,数据缓冲作…...

关于海康相机和镜头参数的记录

对比MV-CS020-10UC和大家用的最多的MV-CS016-10UC 其实前者适合雷达站使用&#xff0c;后者适合自瞄使用 一&#xff1a;MV-CS020-10UC的参数 二&#xff1a;对比 三&#xff1a;海康镜头选型工具...

【JavaScript】运算符

算术运算符 1. 加法运算符&#xff08;&#xff09; 加法运算符用于将两个值相加。如果两个操作数都是数字&#xff0c;则它们将被加在一起。如果其中一个操作数是字符串&#xff0c;则另一个操作数将被转换为字符串&#xff0c;然后执行字符串连接。 运算子不同&#xff0c…...

LabVIEW航空发动机主轴承试验器数据采集与监测

LabVIEW航空发动机主轴承试验器数据采集与监测 随着航空技术的迅速发展&#xff0c;对航空发动机性能的测试与监测提出了更高的要求。传统的数据采集与监测方法已难以满足当前高精度和高可靠性的需求&#xff0c;特别是在主轴承试验方面。基于LabVIEW的航空发动机主轴承试验器…...

CVE-2022-2602:unix_gc 错误释放 io_uring 注册的文件从而导致的 file UAF

前言 复现该漏洞只是为了学习相关知识&#xff0c;在这里仅仅做简单记录下 exp&#xff0c;关于漏洞的详细内容请参考其他文章&#xff0c;最后在 v5.18.19 内核版本上复现成功&#xff0c;v6.0.2 复现失败 漏洞利用 diff --git a/include/linux/skbuff.h b/include/linux/s…...

LSTM实战笔记(部署到C++上)——更新中

前几天由于自己的个人原因停止了学习 接下里继续更新一些自己项目中所用到的神经网络等 ——————————————————————————————————————————— LSTM代码介绍 建立LSTM模型时需要设置一些参数&#xff0c;包括输入数据的形状、LSTM层的…...

鸿蒙内核源码分析(消息队列篇) | 进程间如何异步传递大数据

基本概念 队列又称消息队列&#xff0c;是一种常用于任务间通信的数据结构。队列接收来自任务或中断的不固定长度消息&#xff0c;并根据不同的接口确定传递的消息是否存放在队列空间中。 任务能够从队列里面读取消息&#xff0c;当队列中的消息为空时&#xff0c;挂起读取任务…...

Sentinel流量防卫兵

1、分布式服务遇到的问题 服务可用性问题 服务可用性场景 服务雪崩效应 因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程&#xff0c;就叫服务雪崩效应导致服务不可用的原因&#xff1a; 在服务提供者不可用的时候&#xff0c;会出现大量重试的情况&…...

微信小程序:14.什么是wxs,wxs的使用

wxs是小程序独有的一套脚本语言&#xff0c;结合wxml&#xff0c;可以构建出页面的结构 wxs的应用场景 wxml中无法调用在页面的js中定义的函数&#xff0c;但是wxml可以调用wxs中定义的函数。因此小程序中wxs的典型应用场景就是过滤器 wxs和js的关系 wxs有自己的数据类型 …...

Django运行不提示网址问题

问题描述&#xff1a;运行django项目不提示网址信息&#xff0c;也就是web没有起来&#xff0c;无法访问。 (my-venv-3.8) PS D:\Project\MyGitCode\public\it_blog\blog> python .\manage.py runserver INFO autoreload 636 Watching for file changes with StatReloader …...

web安全---xss漏洞/beef-xss基本使用

what xss漏洞----跨站脚本攻击&#xff08;Cross Site Scripting&#xff09;&#xff0c;攻击者在网页中注入恶意脚本代码&#xff0c;使受害者在浏览器中运行该脚本&#xff0c;从而达到攻击目的。 分类 反射型---最常见&#xff0c;最广泛 用户将带有恶意代码的url打开&a…...

第一天学习(GPT)

1.图片和语义是如何映射的&#xff1f; **Dalle2&#xff1a;**首先会对图片和语义进行预训练&#xff0c;将二者向量存储起来&#xff0c;然后将语义的vector向量转成图片的向量&#xff0c;然后基于这个图片往回反向映射&#xff08;Diffusion&#xff09;——>根据这段描…...

【C++之AVL树旋转操作的详细图解】

C++学习笔记---022 C++之AVL树旋转操作的详细图解1、AVL树的简单介绍1.1、基本概念1.2、平衡因子1.3、AVL树的特性2、C++中pair的介绍2.1、定义和初始化2.2、访问元素2.3、作为容器的元素2.4、作为函数的返回值3、AVL树节点的定义4、AVL的插入规则探究5、AVL树的旋转操作5.1、R…...

制作Android分区镜像

1 python生成一个sector数据 def get_oem_bootmode(): # Header size SECTOR_SIZE_IN_BYTES 512 header [0 for i in \ range(SECTOR_SIZE_IN_BYTES)] # magic # The ord() built-in function in # Python converts a character # into …...

网站域名攻击/谷歌排名优化入门教程

从XP直接升级到Windows 7后&#xff0c;是否对新的开始菜单感觉不习惯&#xff0c;或者说你就喜欢最原始的Windows开始菜单式样&#xff1f;XP里还能选择使用“经典样式”&#xff0c;可如今Windows 7干脆就没有这个选项了&#xff0c;怎么办呢&#xff1f; 如果你到网上搜索过…...

大前端Wordpress图片主题/许昌seo推广

前言 前段时间做了一个爬取妹子套图的小功能&#xff0c;小伙伴们似乎很有兴趣&#xff0c;为了还特意组建了一个Python兴趣学习小组&#xff0c;来一起学习。十个python九个爬&#xff0c;在大家的印象中好像Python只能做爬虫。然而并非如此&#xff0c;Python 也可以做Web开发…...

网站做点击收费标准/口碑营销

CLToast IOS Toast弹框提示组件 GitHub 要求 iOS 8.0swift 3.0主要功能&#xff1a; 支持多个Toast任务依次执行支持设置toast的位置键盘弹出不会遮盖toast支持修改Toast的背景色、字体大小、圆角角度支持更换toast的图片资源支持横竖屏切换使用方式 pod CLToast Toast的使用 p…...

网站开发从什么学起/友链提交入口

1、 如何判断字段的值里面:那些数据包含小写字母或大小字母判断字段NAME的值里面有小写字母的记录方式1&#xff1a;方式2判断字段NAME的值里面有大写字母的记录方式1&#xff1a;方式2&#xff1a;2、如何判断字段里面的值里面包含特殊字符例如&#xff0c;我想找出表TEST的字…...

深圳市建网站公/适合seo的建站系统

索引基础知识 索引概念 索引是为了加快数据的查找而创建的可选数据库对象索引是建立在表的一列或多列上且进行排序的一种结构通过指针快速定位数据行的方法&#xff0c;减少CPU和磁盘的I/O索引是由Oracle自动使用和维护的&#xff0c;数据更新会自动传播到所有相关的索引索引…...

wordpress 小蘑菇/效果最好的推广软件

机器学习的定义&#xff1a; 计算机程序从经验E中学习,解决某一任务T,进行某一性能度量P,通过P&#xff0c;测定在T上的表现因经验E而提高。 例如机器下棋和邮件分类。 &#xff08;1&#xff09;对于下棋而言&#xff0c; E&#xff1a;通过学习棋谱和模拟下棋&#xff0c…...