加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

怎么用Python写一个图片迁移脚本?

发布时间:2020-12-17 00:24:43 所属栏目:Python 来源:网络整理
导读:这里是修真院后端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析后端知识/技能,本篇分享的是: 【 怎么用Python写一个图片迁移脚本?】 大家好,我是IT修真院

这里是修真院后端小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析后端知识/技能,本篇分享的是:

【 怎么用Python写一个图片迁移脚本?】

大家好,我是IT修真院深圳分院第十三期学员,一枚正直纯洁善良的JAVA程序员。 今天给大家分享一下,修真院官网JAVA任务7里面的知识点:

怎么用Python写一个图片迁移脚本?

1 背景介绍

随着企业数据量的增多,Redis不论作为数据存储或是缓存,它的数据量也会逐渐增多,虽然Redis的速度非常可观,但随着其中的数据量的庞大,并且仅仅在一个设备或是一个Redis实例中,其存取速度也会大打折扣,所以我们需要在不同的设备或服务器上,搭建多个Redis实例仓库,将原来的Redis的所有的keys分发到各个服务器的Redis上,这就是现在所谓的Redis集群(Redis Cluster)

2.知识剖析

2.1REDIS-CLUSTER原理

Redis-Cluster中的节点是可以相互通信的,客户端可以通过访问任意节点都可以访问集群内的数据

1、Redis-Cluster所有节点之间通过PING-PONG机制进行关联,内部使用二进制协议优化传输速度和带宽,所以Redis的传输特别快。

2、Redis-Cluster检测节点是否宕机有它独特的机制。

3、客户端可以直接连接Redis节点,不需要连接所有节点,连接集群中任何一个可用节点即可。

4、Redis-Cluster把所有的节点映射到slot上,Cluster主要负责维护node<->slot<->value

5.Redis集群中内置了16384个哈希槽,Cluster会给不同的节点分配哈希槽,不同的节点分配编号在0-16383之间的哈希槽,也就是将哈希槽映射到redis集群的节点。Cluster主要负责维护节点-哈希槽-值之间的关系。

2.2REDIS-CLUSTER容错机制

Redis-Cluster检测节点是否宕机时采用投票的方式。节点之间通过PING-PONG机制联系,如果有一半以上的master节点在默认的回应时间内联系某个节点失败,则会认为该节点已经宕机了。主节点宕机后,从节点会暂时作为主节点来接替主节点的工作,但并不总是能顶替。当出现以下两种情况时,可以认为Redis-Cluster已经宕掉了:

1、如果集群中的主节点宕机后,当前master节点没有slave节点,则集群进入宕机状态,也就是集群的slot映射不成功。

2、如果集群中的master节点超过一半以上宕机,无论是否有slave节点,集群都会处于宕机状态

2.3概括

Redis集群采用哈希槽进行节点映射,映射时会采用一定的算法。Cluster会根据节点的数量来分配映射的哈希槽,每个节点占据一定个数的哈希槽。Redis-Cluster的节点采用主备模式,当客户端向Redis的某个master节点存储数据时,master节点也会把数据同步到slave节点,保持master节点和slave节点的数据一致。

3.常见问题

4.解决方案

在一台机器上用多个端口启动多个redis服务来模拟集群

5.编码实战

task6_redis.redis_cachedorg.apache.log4j.Loggerorg.springframework.stereotype.task6_redis.dao.PositionStuDaotask6_redis.pojo.PositionStutask6_redis.util.RedisUtiljavax.annotation.java.util.ArrayListjava.util.ListPositionStuRedisImpl?PositionStuRedis?{
????(=?)
????PositionStuDao?(=?)
????RedisUtil?Logger?=Logger.(PositionStuRedisImpl.)List?()?{
????????.info()List?list?=.lGet(-).info(list)(list.size()==){
????????????.info().saveRedisCached()list?=.lGet(-).info(list)}
????????List?positionStus?=ArrayList<>()(Object?i:list){
????????????.info(i.toString())PositionStu?p?=(PositionStu)?.get(i.toString()).info(+p.toString())positionStus.add(p)}
????????positionStus}

????Integer?(PositionStu?positionStu)?{
????????.info()Integer?i=.savePosition(positionStu)(i>){
????????????.del().saveRedisCached()}
????????i}

????PositionStu?(Integer?id){
????????PositionStu?positionStu=(.hasKey(id.toString())){
????????????.info()(PositionStu)?.get(id.toString())}{
????????????.info()positionStu?=.queryPos(id)(positionStu!=){
????????????????.info().set(positionStu.getPosId().toString()positionStu)}{
????????????????.info().set(id.toString())}
????????}
????????(PositionStu)?.get(id.toString())}

????(){
????????.info()List?positionStus?=.goodShow().info(positionStus)(positionStus.size()!=){
????????????(PositionStu?p:positionStus){
????????????????.info(+p)b?=.set(p.getPosId().toString()p).info(+b)(b)?{
????????????????????.info().lSet(p.getPosId())}
????????????}
????????}?{
????????????.set()}
????????.info(+.lGet(-))}

6.扩展思考: redis集群有很多中方案,而且redis集群在企业中运用也比较广注 7.参考文献 CSDN、百度百科 8 更多讨论 总结: 1))为什么servlet里面的有些对象不能满足那个需求? 首先我们来分析业务需求,在页面显示你的账号,可以清楚的知道多个请求都会显示,所以Resquest,response不行,因为它们是一个请求对应的一个生命周期。config和组件servlet是一对一的关系,而登录和查询是不同的servlet所以数据不共用,而且config没有读取变量的能力。tomcat内只有一个对象,context跟servlet是一多的关系,而每个人登录传递的账号都是code=“zhangsan”的数据,其中key值都是一样,存入context有冲突。 2)什么是cookie和session? cookie存在游览器器上,服务器压力小,但数据不安全(顾客可以改会员卡里面的信息) -session存在服务器上,服务器压力大,但数据安全。 3)什么场景适用于session?什么场景适用于cookie? -重要数据存session -一般数据存cookie 温馨提示:本人初学java者,如有不对敬请指出,谢谢!

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。

快来与我一起学习吧~技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。

快来与我一起学习吧~?

视频:

PPT链接?视频链接

更多内容,可以加入IT交流群565734203与大家一起讨论交流

这里是技能树·IT修真院:,初学者转行到互联网的聚集地

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读