Stella981 Stella981
3年前
Python爬虫代理池
爬虫代理IP池在公司做分布式深网爬虫,搭建了一套稳定的代理池服务,为上千个爬虫提供有效的代理,保证各个爬虫拿到的都是对应网站有效的代理IP,从而保证爬虫快速稳定的运行,当然在公司做的东西不能开源出来。不过呢,闲暇时间手痒,所以就想利用一些免费的资源搞一个简单的代理池服务。1、问题代理IP从何而来?
Wesley13 Wesley13
3年前
J2Cache 和普通缓存框架有何不同,它解决了什么问题?
不少人看到J2Cache第一眼时,会认为这就是一个普普通通的缓存框架,和例如Ehcache、Caffeine、SpringCache之类的项目没什么区别,无非是造了一个新的轮子而已。事实上完全不是一回事!目前缓存的解决方案一般有两种:内存缓存(如Ehcache)——速度快,进程内可用集中式缓存(如Redis)——
Stella981 Stella981
3年前
Docker常用命令,Docker安装Nginx、Redis、Jenkins、tomcat、MySQL
常用命令拉取镜像:dockerpullxxx启动镜像:dockerrunnamexxx8080:8080dxxx查看容器:dockerpsxxx停止容器:dockerstopxxx启动容器:dockerstartxxx删除容器:dockerrmxxx删除镜像:docke
Stella981 Stella981
3年前
Hystrix的介绍和简单使用
这周在看项目的相关代码时,接触到了Hystrix,因此查询了相关资料学习了下。一、什么是Hystrix  Hystrix是Netflix针对微服务分布式系统的熔断保护中间件,当我们的客户端连接远程的微服务时,有两种情况需要考虑:首先,如果远程系统当机了我们怎么办?其次,我们如何管理对远程微服务的调用性能,以保证每个微服务以最小延迟最快性能
Stella981 Stella981
3年前
Hessian不能正确序列化和反序列化BigDecimal的解决
某次往Redis里面缓存对象,发现取出的对象里面,BigDecimal属性全都变成了0。后发现问题出在使用的序列化、反序列化的工具Hessian上面。Hessian的这个问题,从网上搜索,可以说是一大堆。看到早期的解决方案是在jar包的METAINF目录里面新建hessian目录,并填入两个配置文件,告诉Hessian,类的转换关系。但是现在大家都
Wesley13 Wesley13
3年前
mysql面试题及答案
01\.列举常见的关系型数据库和非关系型都有那些?1.关系型数据库通过外键关联来建立表与表之间的关系,常见的有:SQLite、Oracle、mysql2.非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定常见的有:MongoDb、redis02\.MySQL常见数据库引擎
Easter79 Easter79
3年前
Swoole2.0协程客户端连接池的实现
Swoole2.0官方默认的实例是短连接的,在请求处理完毕后就会切断redis或mysql的连接。实际项目可以使用连接池实现复用。实现原理也很简单,使用SplQueue,在请求到来时判断资源队列中是否有可用的连接,如果有直接拿来复用。如果没有就创建一个新的连接。在连接使用完毕后再讲它重新放回到队列,此连接就可以被其他协程复用。$count
Stella981 Stella981
3年前
Redis面试:八问字典内部构造与rehash,这谁顶的住啊!
字典是一种用于保存键值对的抽象数据结构,也被称为查找表、映射或关联表。在字典中,一个键(key)可以和一个值(value)进行关联,这些关联的键和值就称之为键值对。抽象数据结构,啥意思?就是可以需要实际的数据结构是实现这个功能。抽象,意味着它这是实现功能的标准,凡是能够完成这些功能的都可以是其实现。redis的字典
Stella981 Stella981
3年前
LiteHttpServer 2.0 Feature
占坑,2.0版本应该具备一下特性:1.引入高性能异步io2.Lua高并发支持3.引入http解析库,更完整的支持http协议4.更智能的文件缓存策略5.引入redis的支持6.更强大的高性能异步策略7.支持重定向到其他http服务器,形如nginx的代理功能.有空再开发,并且开源1.0版本URL:http
sum墨 sum墨
7个月前
《花100块做个摸鱼小网站! 》第三篇—热搜表结构设计和热搜数据存储
大家好呀,我是summo,第一篇已经教会大家怎么去阿里云买服务器,以及怎么搭建JDK、Redis、MySQL这些环境。第二篇我们把后端的应用搭建好了,并且完成了第一个爬虫(抖音)。那么这一篇我会教大家如何将爬取到的数据保存到数据库,并且可以通过接口获取到,为后面的前端界面提供数据源。